zico
8d69b1924b
Added a failsafe to randomized player selection in maybe_drop_net_powerup() that will prevent the loop to hang and go with Player_num instead
2016-02-29 16:31:20 +01:00
zico
e47a1f3d91
Turned drop_playerobj in chrose_drop_segment() into reference
2016-02-29 15:58:36 +01:00
zico
901a554e96
New powerup management code: Addeed functions and packet type to keep track of original and current level inventory as well as player and thief inventories. Calling maybe_drop_net_powerup() for all ammo based weapons except Concussion missiles. Limiting maybe_drop_net_powerup() to only spawn items missing from initial level inventory. Added function to let host respawn items that were lost for whatever reason. Expanded maybe_drop_net_powerup() and child functions to be able to drop item based on a random player. Changed back maybe_drop_secondary_weapon_egg() to its original behavior, dropping 3 of each type max.
2016-02-25 14:11:08 +01:00
Kp
553b313099
Use vwallptr
2016-02-12 04:02:28 +00:00
Kp
2fd6a425b0
Remove highest_valid
2016-02-12 04:02:28 +00:00
Kp
6e20d86941
Move OF_PLAYER_DROPPED into drop_powerup
...
This fixes an issue where calling drop_powerup with num > 1 only tagged
one powerup as player-dropped.
This also changes powerups dropped by the thief to be "player-dropped",
since, aside from the initial shields/energy, they came from the player
originally.
2016-02-06 22:12:55 +00:00
Kp
86709f547b
Fix capitalization of PHYSFS_File
...
Per comment in physfs.h, the spelling PHYSFS_file is deprecated.
Replace all instances with PHYSFS_File.
2016-01-09 16:38:14 +00:00
Kp
a3ae630829
Remove default argument for basic_ptridx(index)
2016-01-09 16:38:14 +00:00
Kp
cefc79f869
Construct find_point_seg segptridx explicitly
2016-01-09 16:38:13 +00:00
Kp
e8c34be843
Use v*ptr* factories with highest_valid
2015-12-22 04:18:51 +00:00
Kp
d479819931
Use absolute_sibling to reduce global references for ptridx
2015-12-22 04:18:51 +00:00
Kp
db9fb0ed42
Move more symbols into namespace dcx/dsx
2015-12-22 04:18:50 +00:00
Kp
b683b4cc68
Scope weapon type
2015-12-03 03:26:49 +00:00
Kp
0c75aecc45
Check most uses of object id
2015-11-27 03:56:13 +00:00
Kp
0a3d4cd711
Defer robot parent check in object_create_explosion_sub
2015-11-27 03:56:13 +00:00
Kp
1226731ffa
Propagate OBJ_POWERUP into segment_contains_object
2015-11-27 03:56:12 +00:00
Kp
dad504cfef
Fix some -Wshadow warnings
2015-11-26 02:56:54 +00:00
Kp
0d68cb0aa4
Cache locals in explode_model
2015-11-15 22:30:41 +00:00
Kp
c0149be92a
Use enum class explosion_vclip_stage for get_explosion_vclip
2015-11-15 22:30:41 +00:00
Kp
17b8b64980
Use macro get_local_player_flags for player's flags
2015-10-30 02:52:56 +00:00
Kp
92f78caf22
Use macro get_local_player_vulcan_ammo for player's vulcan_ammo
2015-10-30 02:52:56 +00:00
Kp
ea5b7a08c1
Use macro get_local_player_energy for local player's energy
2015-10-30 02:52:55 +00:00
Kp
f46a2802aa
Simplify object_nearby_aux return
2015-10-18 21:01:18 +00:00
Kp
533f1cb3bb
Qualify references to primary weapons
2015-10-18 21:01:18 +00:00
Kp
edccaa91f6
Check return of pick_connected_segment before use
2015-09-29 02:41:22 +00:00
Kp
66da9c136e
Cache do_explosion_sequence Robot_info lookups
2015-08-17 02:44:56 +00:00
zico
57b4bd0281
Community wish: If friendly fire is disabled, also protect players from explosion damage caused by friendly players. This also protects against splash damage caused by oneself.
2015-08-16 13:25:07 +02:00
Kp
bda7fef3a0
Use get_local_player to compute reference to local player
2015-07-25 23:10:46 +00:00
Kp
f38e80c053
Use get_local_plrobj to compute reference to object of local player
2015-07-25 23:10:45 +00:00
Kp
13bcdcf0ca
Use valptr for fireball.cpp
2015-07-12 01:04:19 +00:00
Kp
9125ae32cd
Make objnum unsigned
2015-06-13 22:42:15 +00:00
Kp
f6d6f221ad
Fix array underread for D1 bosses in D2
2015-06-07 16:21:37 +00:00
Kp
ea2c2df250
Update open-coded tests for segment_none
2015-05-28 03:08:39 +00:00
Kp
bfeddc3501
Test for exploding wall damaging control center
...
apply_damage_to_controlcen requires a valid `who`, but exploding walls
have none.
Fixes: 3eb8f4813e
("Pass vcobjptr_t to apply_damage_to_controlcen")
2015-05-09 19:55:58 +00:00
Kp
1cdc43d71a
Split object_create_egg
2015-05-09 17:39:01 +00:00
Kp
d9c3005134
Factor out egg skip logic
2015-05-09 17:39:00 +00:00
Kp
b5eae4c809
Split create_smart_children
2015-05-09 17:38:58 +00:00
Kp
b32298df5a
Rewrite powerup cap code to centralize logic
2015-04-19 04:18:53 +00:00
Kp
b88c232f9f
Use powerup_type_t for *_weapon_to_powerup
2015-04-19 04:18:53 +00:00
Kp
516b8b2397
Reduce collide.h includes
2015-04-19 04:18:51 +00:00
Kp
9d213b5282
Wrap player_has_weapon return type
2015-04-19 04:18:50 +00:00
Kp
5ae5033fed
Use enum for AIB constants
2015-04-02 02:36:57 +00:00
Kp
6b6eaef226
Include polyobj.h from robot.h
...
Swap the inclusion order since all robots are polyobjects, but not all
polyobjects are robots.
2015-04-02 02:36:57 +00:00
Kp
9157e5f970
Use enum class for player_awareness_type_t
2015-04-02 02:36:53 +00:00
Kp
2c09f9fa90
Propagate special types for distance/magnitude
2015-03-12 02:21:19 +00:00
Kp
a9a330bf3f
Use array<> for expl_wall_list
...
Fixes: 125d9257be
("Use special type names for segment/object numbers")
2015-02-28 19:36:01 +00:00
zico
600d9b8685
Removed conditions for Endlevel_sequence in Multiplayer as it is not set - except for multi data where it was rather governed by NETSTAT_ENDLEVEL
2015-02-22 17:31:06 +01:00
Kp
99a4a0ed62
Capture range_for by-value temporaries as const
...
Modifying a by-value temporary does not affect the underlying container,
so modifying it is almost always a bug. Require use of a by-reference
capture when modification is desired.
sed -i -e 's/range_for\s*(\s*\(const\s\+\)\?auto\s\+\([[:alpha:]_]\)/range_for (const auto \2/g'
2015-02-05 03:03:49 +00:00
Kp
e9761bed40
Optimize object_nearby_aux
2015-01-20 02:46:42 +00:00
Kp
ff493fcfce
Inline vm_vec_make
2015-01-12 00:26:02 +00:00