Skip to content

Commit b250b97

Browse files
committed
feat(gameevents): Expand with new fields
1 parent ea02ef7 commit b250b97

17 files changed

+272
-24
lines changed

generator/gameevent_generator/generate.py

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -473,8 +473,7 @@ def render_class(event: GameEventDef) -> str:
473473
for fname, fdef in event.fields.items():
474474
ftype = fdef.type_name
475475

476-
# userid override: expand to controller, pawn (readonly) and raw int (readwrite)
477-
if fname.lower() == 'userid':
476+
if ftype == 'player_controller' or ftype == 'player_controller_and_pawn' or fname.lower() == 'userid':
478477
base_prop = to_property_name(fname) # UserId
479478
# Controller
480479
prop_name_ctrl = f"{base_prop}Controller"

managed/src/SwiftlyS2.Generated/GameEvents/Classes/EventAchievementEarnedImpl.cs

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,9 +17,21 @@ public EventAchievementEarnedImpl(nint address) : base(address)
1717
{
1818
}
1919

20+
// entindex of the player
21+
public CCSPlayerController PlayerController
22+
{ get => Accessor.GetPlayerController("player"); }
23+
24+
// entindex of the player
25+
public CCSPlayerPawn PlayerPawn
26+
{ get => Accessor.GetPlayerPawn("player"); }
27+
28+
// entindex of the player
29+
public IPlayer PlayerPlayer
30+
{ get => Accessor.GetPlayer("player"); }
31+
2032
// entindex of the player
2133
public int Player
22-
{ get => Accessor.GetPlayerSlot("player"); set => Accessor.SetPlayerSlot("player", value); }
34+
{ get => Accessor.GetInt32("player"); set => Accessor.SetInt32("player", value); }
2335

2436
// achievement ID
2537
public short Achievement

managed/src/SwiftlyS2.Generated/GameEvents/Classes/EventBotTakeoverImpl.cs

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,8 +29,17 @@ public IPlayer UserIdPlayer
2929
public int UserId
3030
{ get => Accessor.GetInt32("userid"); set => Accessor.SetInt32("userid", value); }
3131

32+
public CCSPlayerController BotIDController
33+
{ get => Accessor.GetPlayerController("botid"); }
34+
35+
public CCSPlayerPawn BotIDPawn
36+
{ get => Accessor.GetPlayerPawn("botid"); }
37+
38+
public IPlayer BotIDPlayer
39+
{ get => Accessor.GetPlayer("botid"); }
40+
3241
public int BotID
33-
{ get => Accessor.GetPlayerSlot("botid"); set => Accessor.SetPlayerSlot("botid", value); }
42+
{ get => Accessor.GetInt32("botid"); set => Accessor.SetInt32("botid", value); }
3443

3544
public float P
3645
{ get => Accessor.GetFloat("p"); set => Accessor.SetFloat("p", value); }

managed/src/SwiftlyS2.Generated/GameEvents/Classes/EventBulletDamageImpl.cs

Lines changed: 26 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,13 +17,37 @@ public EventBulletDamageImpl(nint address) : base(address)
1717
{
1818
}
1919

20+
// player index who was hurt
21+
public CCSPlayerController VictimController
22+
{ get => Accessor.GetPlayerController("victim"); }
23+
24+
// player index who was hurt
25+
public CCSPlayerPawn VictimPawn
26+
{ get => Accessor.GetPlayerPawn("victim"); }
27+
28+
// player index who was hurt
29+
public IPlayer VictimPlayer
30+
{ get => Accessor.GetPlayer("victim"); }
31+
2032
// player index who was hurt
2133
public int Victim
22-
{ get => Accessor.GetPlayerSlot("victim"); set => Accessor.SetPlayerSlot("victim", value); }
34+
{ get => Accessor.GetInt32("victim"); set => Accessor.SetInt32("victim", value); }
35+
36+
// player index who attacked
37+
public CCSPlayerController AttackerController
38+
{ get => Accessor.GetPlayerController("attacker"); }
39+
40+
// player index who attacked
41+
public CCSPlayerPawn AttackerPawn
42+
{ get => Accessor.GetPlayerPawn("attacker"); }
43+
44+
// player index who attacked
45+
public IPlayer AttackerPlayer
46+
{ get => Accessor.GetPlayer("attacker"); }
2347

2448
// player index who attacked
2549
public int Attacker
26-
{ get => Accessor.GetPlayerSlot("attacker"); set => Accessor.SetPlayerSlot("attacker", value); }
50+
{ get => Accessor.GetInt32("attacker"); set => Accessor.SetInt32("attacker", value); }
2751

2852
// how far the bullet travelled before it hit the player
2953
public float Distance

managed/src/SwiftlyS2.Generated/GameEvents/Classes/EventCsWinPanelRoundImpl.cs

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,8 +33,17 @@ public byte FinalEvent
3333
public string FunfactToken
3434
{ get => Accessor.GetString("funfact_token"); set => Accessor.SetString("funfact_token", value); }
3535

36+
public CCSPlayerController FunfactPlayerController
37+
{ get => Accessor.GetPlayerController("funfact_player"); }
38+
39+
public CCSPlayerPawn FunfactPlayerPawn
40+
{ get => Accessor.GetPlayerPawn("funfact_player"); }
41+
42+
public IPlayer FunfactPlayerPlayer
43+
{ get => Accessor.GetPlayer("funfact_player"); }
44+
3645
public int FunfactPlayer
37-
{ get => Accessor.GetPlayerSlot("funfact_player"); set => Accessor.SetPlayerSlot("funfact_player", value); }
46+
{ get => Accessor.GetInt32("funfact_player"); set => Accessor.SetInt32("funfact_player", value); }
3847

3948
public int FunfactData1
4049
{ get => Accessor.GetInt32("funfact_data1"); set => Accessor.SetInt32("funfact_data1", value); }

managed/src/SwiftlyS2.Generated/GameEvents/Classes/EventGgKilledEnemyImpl.cs

Lines changed: 26 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,13 +17,37 @@ public EventGgKilledEnemyImpl(nint address) : base(address)
1717
{
1818
}
1919

20+
// user ID who died
21+
public CCSPlayerController VictimIDController
22+
{ get => Accessor.GetPlayerController("victimid"); }
23+
24+
// user ID who died
25+
public CCSPlayerPawn VictimIDPawn
26+
{ get => Accessor.GetPlayerPawn("victimid"); }
27+
28+
// user ID who died
29+
public IPlayer VictimIDPlayer
30+
{ get => Accessor.GetPlayer("victimid"); }
31+
2032
// user ID who died
2133
public int VictimID
22-
{ get => Accessor.GetPlayerSlot("victimid"); set => Accessor.SetPlayerSlot("victimid", value); }
34+
{ get => Accessor.GetInt32("victimid"); set => Accessor.SetInt32("victimid", value); }
35+
36+
// user ID who killed
37+
public CCSPlayerController AttackerIDController
38+
{ get => Accessor.GetPlayerController("attackerid"); }
39+
40+
// user ID who killed
41+
public CCSPlayerPawn AttackerIDPawn
42+
{ get => Accessor.GetPlayerPawn("attackerid"); }
43+
44+
// user ID who killed
45+
public IPlayer AttackerIDPlayer
46+
{ get => Accessor.GetPlayer("attackerid"); }
2347

2448
// user ID who killed
2549
public int AttackerID
26-
{ get => Accessor.GetPlayerSlot("attackerid"); set => Accessor.SetPlayerSlot("attackerid", value); }
50+
{ get => Accessor.GetInt32("attackerid"); set => Accessor.SetInt32("attackerid", value); }
2751

2852
// did killer dominate victim with this kill
2953
public short Dominated

managed/src/SwiftlyS2.Generated/GameEvents/Classes/EventHltvChaseImpl.cs

Lines changed: 26 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,13 +18,37 @@ public EventHltvChaseImpl(nint address) : base(address)
1818
{
1919
}
2020

21+
// primary traget index
22+
public CCSPlayerController Target1Controller
23+
{ get => Accessor.GetPlayerController("target1"); }
24+
25+
// primary traget index
26+
public CCSPlayerPawn Target1Pawn
27+
{ get => Accessor.GetPlayerPawn("target1"); }
28+
29+
// primary traget index
30+
public IPlayer Target1Player
31+
{ get => Accessor.GetPlayer("target1"); }
32+
2133
// primary traget index
2234
public int Target1
23-
{ get => Accessor.GetPlayerSlot("target1"); set => Accessor.SetPlayerSlot("target1", value); }
35+
{ get => Accessor.GetInt32("target1"); set => Accessor.SetInt32("target1", value); }
36+
37+
// secondary traget index or 0
38+
public CCSPlayerController Target2Controller
39+
{ get => Accessor.GetPlayerController("target2"); }
40+
41+
// secondary traget index or 0
42+
public CCSPlayerPawn Target2Pawn
43+
{ get => Accessor.GetPlayerPawn("target2"); }
44+
45+
// secondary traget index or 0
46+
public IPlayer Target2Player
47+
{ get => Accessor.GetPlayer("target2"); }
2448

2549
// secondary traget index or 0
2650
public int Target2
27-
{ get => Accessor.GetPlayerSlot("target2"); set => Accessor.SetPlayerSlot("target2", value); }
51+
{ get => Accessor.GetInt32("target2"); set => Accessor.SetInt32("target2", value); }
2852

2953
// camera distance
3054
public short Distance

managed/src/SwiftlyS2.Generated/GameEvents/Classes/EventHltvFixedImpl.cs

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,19 @@ public short Offset
4141
public float FOv
4242
{ get => Accessor.GetFloat("fov"); set => Accessor.SetFloat("fov", value); }
4343

44+
// follow this player
45+
public CCSPlayerController TargetController
46+
{ get => Accessor.GetPlayerController("target"); }
47+
48+
// follow this player
49+
public CCSPlayerPawn TargetPawn
50+
{ get => Accessor.GetPlayerPawn("target"); }
51+
52+
// follow this player
53+
public IPlayer TargetPlayer
54+
{ get => Accessor.GetPlayer("target"); }
55+
4456
// follow this player
4557
public int Target
46-
{ get => Accessor.GetPlayerSlot("target"); set => Accessor.SetPlayerSlot("target", value); }
58+
{ get => Accessor.GetInt32("target"); set => Accessor.SetInt32("target", value); }
4759
}

managed/src/SwiftlyS2.Generated/GameEvents/Classes/EventHltvRankCameraImpl.cs

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,19 @@ public byte Index
2626
public float Rank
2727
{ get => Accessor.GetFloat("rank"); set => Accessor.SetFloat("rank", value); }
2828

29+
// best/closest target entity
30+
public CCSPlayerController TargetController
31+
{ get => Accessor.GetPlayerController("target"); }
32+
33+
// best/closest target entity
34+
public CCSPlayerPawn TargetPawn
35+
{ get => Accessor.GetPlayerPawn("target"); }
36+
37+
// best/closest target entity
38+
public IPlayer TargetPlayer
39+
{ get => Accessor.GetPlayer("target"); }
40+
2941
// best/closest target entity
3042
public int Target
31-
{ get => Accessor.GetPlayerSlot("target"); set => Accessor.SetPlayerSlot("target", value); }
43+
{ get => Accessor.GetInt32("target"); set => Accessor.SetInt32("target", value); }
3244
}

managed/src/SwiftlyS2.Generated/GameEvents/Classes/EventHltvRankEntityImpl.cs

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,19 @@ public int UserId
3838
public float Rank
3939
{ get => Accessor.GetFloat("rank"); set => Accessor.SetFloat("rank", value); }
4040

41+
// best/closest target entity
42+
public CCSPlayerController TargetController
43+
{ get => Accessor.GetPlayerController("target"); }
44+
45+
// best/closest target entity
46+
public CCSPlayerPawn TargetPawn
47+
{ get => Accessor.GetPlayerPawn("target"); }
48+
49+
// best/closest target entity
50+
public IPlayer TargetPlayer
51+
{ get => Accessor.GetPlayer("target"); }
52+
4153
// best/closest target entity
4254
public int Target
43-
{ get => Accessor.GetPlayerSlot("target"); set => Accessor.SetPlayerSlot("target", value); }
55+
{ get => Accessor.GetInt32("target"); set => Accessor.SetInt32("target", value); }
4456
}

0 commit comments

Comments
 (0)