-------------------------------------------------------------------------------------------------------- -------------------------------------------------------------------------------------------------------- !!! This is an UNOFFICIAL upgrade of RSD to UO !!! It is only meant as a interim solution while waiting for Boco to finish the official RSD version for UO. -------------------------------------------------------------------------------------------------------- ---------------------------------------------------------------------------------------------------------- -=Reinforced Search and Destroy=- A modification to Search and Destroy Version 1.7UO By Boco http://www.iwnation.com/Hosted/Boco/index.html -=AWE: Changes made by Bell when integrating it with AWEUO=- NOTICE: Further changes has been made by GroundPounder since I(bell) broke a few things while upgrading RSD to UO. REMOVED: Shellshock, it is now handled by UO REMOVED: Ammo clip controls. Well, AWE has one way of limiting ammo and UO has the rank system, I guess that should be enough. -=AWE: Changes made by Bell when integrating it with AWE=- REMOVED: Mortars (The ones in AWE will be used to save effects) REMOVED: Spawnprotection (handled by AWE) REMOVED: Banners (server messages in AWE handles this) REMOVED: Helmet popping (handled by AWE) REMOVED: Deathsounds (handled by AWE) NOTICE: Shellshock is handled by RSD. NOTICE: Anti teamkilling is handles by RSD. -=1.7: Changes since 1.6=- ADDED: RSD entities allowed. This will let map makers create special entities for use in RSD only. CHANGED: Made RSD compatible with 1.4. w00t! \o/ Finally. CHANGED: Limited lives late join was enabled again. getGUID() was fixed in 1.4. If you reconnect, you get your lives back. If late-join is enabled and you join, you get the round average number of lives. If you disconnect and reconnect, it gives you your previous lives or the round average, whichever is less. Spawn protect module 1.2: ADDED: Extra code checks. Mortar module 2.2: ADDED: Cvar b_mortar_prone. If set to 0, close blast does not make player go prone. ************************************ **IGNORE BELOW - Just my todo list** ************************************ TODO: See if I can spawn the mortar higher. Add additional skybox code to do this. TODO: Add a b_mortar_speed cvar to specify a constant fall speed. TODO: Once I add b_mortar_speed, make the mortar move through walls in mortar_Continue() instead of warping to next wall. TODO: Add special map specific ranges so special effects play correctly. (mp_ship for example, water does not return correct surfaceType ). -------------------------- -=1.6: Changes since 1.51=- ADDED: New cvar "modversion" shows in the serverinfo so you can tell which version of the mod the server is running. CHANGED: Still reducing code size and splitting things into modules. Banners is now a module. CHANGED: Banner directory is banner/ instead of RSD/, and banner name is _banner.gsc instead of RSD_banner.gsc. So, banner/_banner.gsc. CHANGED: Banner instructions no longer claim to package a pk3 file. Instead, they instruct on creating a directory under the fs_game path and putting the banner file there. CHANGED: RSD only uses SD objectives now, but it will still be able to use custom RSD spawns. Refer to the bottom of this readme for instructions on spawnpoint names. FIXED: Killcam can now be disabled. I forgot to change all instances of the old b_noKillCam cvar. :x And I forgot to mention I got rid of that cvar. :x FIXED: Correct version now shows in server settings display. Hey, it was 1:00am when I released 1.5! So sue me. FIXED: Time up results in a Defender Win, instead of Round Draw. Mortar module 2.1: CHANGED: Adjusted the damage, prone, and shake radius. FIXED: Rarely the mortar will hit something and won't stop exploding. My math seems sound, so it might be the engine rounding something bad. Therefore, I added a fail-safe check to prevent that from happening. --------------------------- -=1.51: Changes since 1.5=- FIXED: Round now ends on 0:00 like it is supposed to. --------------------------- -=1.5: Changes since 1.4=- ADDED: Call of Duty version 1.2 compatibility! This version REQUIRES version 1.2. Sorry all. ;) ADDED: Independant team lives. b_player_lives_allies and b_player_lives_axis. 0 = infinite lives. ADDED: Team Independant invincibility. b_spawn_protect_allies and b_spawn_protect_axis ADDED: Sudden Death Plant mode. If last objective has a bomb on it, round does not end. This will be defaulted to ON. b_rsd_bomb_suddenDeath ADDED: Player suicide penalty. If player uses /kill to get more ammo, you can specify a respawn penalty. b_rsd_suicide_penalty ADDED: Anti-doorblock code. b_antiDoorBlock USE AT YOUR OWN RISK! If you hold USE and press MELEE, you will be teleported behind somebody. People have been known to get stuck when using this, but it is rare. Going prone usually helps you get unstuck, but sometimes nothing short of /kill will help you. ADDED: Advanced mortars. Mortars are cooler now. They will fall from the sky and explode on contact with something. Also, they will go through certain materials, so if you are inside a wood house, watch out. >:] Also, mortar blast depends on type of texture it lands on. Snow texture = snow blast, and so forth. ADDED: *DISABLED* Limited Lives late-join will be defaulted to ON because of the addition of GUID's. But, for now, it is to be disabled until getGUID() is fixed. ADDED: With the sv_pure fixes, I modified the grenade weapons. I increased the fuse time from 4 seconds to 5 seconds, and made them cookable. Also, you can have a max of 8 now. Previously you were limited to 3... CHANGED: Player can now change their name in the middle of a game. CHANGED: Players don't keep their weapon inbetween matches. CHANGED: Grenade, projectile, and head shot shellshock is only 1 second now. Explosive is still 3 seconds, melee is still 1, and normal bullets are now 0.2. CHANGED: Respawn penalty for switching teams changed from 0 to 10 seconds. CHANGED: Changed much code to make things readable. Also got rid of code that wasn't used and was just taking up space. CVARs are no longer in rsd.gsc. Refer to this documentation for cvar info. FIXED: checkTeamDead function was doing an unnecessary loop. Also modified it for other reasons. FIXED: When you select a new team, you are immediately placed on the team, instead of placed when you spawn. Lets people see who is changing teams. REMOVED: Anti-bunnyhoping code removed. REMOVED: b_rsd_bomb_shootStop is depricated. Instead, you cannot shoot while arming. REMOVED: My Team Balance code in favor of IW's Team Balance code. REMOVED: Clan iO's Force Spectator functions in favor of built-in commands. REMOVED: Limited Lives late-joining disabled because of a bug in the getGUID command. Will be re-enabled when the bug is fixed (most likely next CoD patch). -------------------------- -=1.4: Changes since 1.3=- ADDED: Late-join with Limited Lives is enabled. Caution, players can reconnect and regain lives. Use at your discretion. When joining late, player lives is max_lives * ( round_time/round_max_time ) ADDED: If b_player_dropHealth is set to 1, players drop health when they die. ADDED: Anti-bunnyhop system. Damage while airborne is multiplied by b_bunnyhop_penalty. ADDED: Player death screams. ADDED: Shellshock effects when you get bashed, exploded, or shot in the head. Set b_shellshock to 0 to disable. ADDED: Random level artillery. b_mortar is the max time in minutes between shots. Set to 0 to disable. FIXED: If you have 0 lives in a Limited Life game and you switch teams, you no longer drop a body. FIXED: If you are deemed a TK'er, you can now attack the other team and not get hurt. --------------------------- -=1.3: Changes since 1.2=- ADDED: If you are dead in a Limited Lives game, your status icon is a skull and crossbones. ADDED: If you have no more lives left, the game gives you a warning. ADDED: Instead of Lives: #, it shows a dog tag and the number of lives you have. ADDED: b_spawn_protect_noShoot cvar added. If set to 1, firing your gun will take away your spawn protection. (don't you just love long cvars? :P) CHANGED: b_spawn_invulnerable changed to b_spawn_protect (got tired of writing invulnerable). FIXED: Killcam now plays through the eyes of the killer, not your eyes. FIXED: If your entire team is dead on a Limited Lives game, the round ends. -------------------------- -=1.2: Changes since 1.1a=- ADDED: Cvars to modify points gained from arming and disarming a bomb and blowing up an objective. ADDED: b_corpse_timeout to specify how long until corpses dissapear. Set to 0 to make them never dissapear. Corpses sink when dissapearing. ADDED: New special effect. If you are killed with a headshot or by explosives, you lose your helmet. ADDED: Cvars to change clip count of pistols and number of grenades. ADDED: Limited lives feature. b_player_lives sets the limit. 0 = infinite lives. ADDED: TK penalty. Once the player hits b_player_tklimit TK's, penalties will be applied. See explanation for more details. ADDED: If b_rsd_bomb_shootStop is set to 1, firing while arming/disarming cancels the action. CHANGED: Removed menus. Menus had to be loaded from menus.txt, which would cause sv_pure errors. When IW fixes, I will add them again. CHANGED: Removed the localized string file. [MC]Hammer showed me a way to bypass it. Lets all give Hammer a cookie now. :P CHANGED: Added Team Spectate. I used Clan iO's (http://www.roxor.nl/clanio/index.htm) forceSpectator function, so here is their plug. CHANGED: Default points gained when arming, disarming, or destroying an objective. Defaults to 2/2/4. FIXED: Banner startup code moved. Now, banners that call when player starts is on a map basis, not round basis. FIXED: Moved the bomb explosion damage origin up 1 foot so it will kill you like it is supposed to. :x Watch out now. FIXED: If the bomb explodes while you are disarming it, the progress meter will be destroyed. --------------------------- -=1.1a: Changes since 1.1=- FIXED: *Old* bug. Objects now correctly run their exploder scripts when bomb explodes. --------------------------- -=1.1: Changes since 1.0=- ADDED: Tell client what b_player_health is set to. ADDED: Tell client if server is using banners. ADDED: If maps include RSD entities, it uses those instead of the SD entities. ADDED: To use banners, you must set b_banners to 1 (which is the default). CHANGED: Team Balance text changed from white to red. CHANGED: Team Balance notice that you changed teams is now printed in the center of the screen. FIXED: If b_player_health was set over 1000, it would set to 100 instead of 1000. FIXED: b_teambalance_grace is now in minutes, not seconds. :x FIXED: Fixed bugs that occured when I switched the teambalance functions to minutes. -------------------------- -=Introduction=- I created RSD because I felt the current gameplay modes in CoD were lacking. SD and RE were only one life to live and usually evolved into a deathmatch. I decided to create RSD in the image of RtCW, with timed reinforcements and bomb planting/disarming. I would like to thank all the people who gave me feedback and helped me test my mod. <3 -=How to Win=- * Attackers Blow up the objectives with the bomb. * Defenders Prevent the attackers from blowing the objectives in the time limit. -=What is Different from SD=- * No longer OLTL - when you die, you get placed in the reinforcement queue. You then spawn with the rest of your team. * If the defending team disarms the bomb, they do not win. For the attacking team to win, they must blow up the objectives. For the defending team to win, they must hold back the attacking team for the duration of the round. * Game time limit and score limit are no longer used. Instead, a game is broken into rounds and each round has a time limit. * If the game is in Normal Mode, you can plant/disarm at both objectives at once. * Can join the game at any time. Server can specify optional late-join and switch-team penalties to be applied to the player (penalties take the form of increased respawn time). * Spawn Protect gives you temporary invulnerability at spawn to fight spawn camping. The other team sees a white cross above your head which signifies you cannot be hurt. The player will see a countdown clock above his ammo count. * Player does not start out with maxed out ammo. Instead, players are defaulted to two extra clips of ammo. Additionally, the server can set individual weapon ammo limits. * Server banners let server admins periodically remind users of the rules or their clan website or any other thing they want. * The killcam can be disabled. * New Friendly Fire mode. * Team Killing penalty. -=Extended Information=- * Reinforcement Queue When you die, you get placed in the reinforcement queue and a timer will appear in the top-left corner of the screen. When the timer hits zero, you will respawn with the rest of your team. If the killcam is running when the timer hits zero, the game will wait until the killcam finishes, or until you press the USE key to respawn you. * Normal Mode vs. Single Bomb Mode If the game is in Single Bomb Mode, you can only plant one bomb at a time and the attackers only need to destroy one objective to win, much like normal SD. * Spawn Protect If Spawn Protect is enabled, you will spawn with limited unvulnerability. The other team will see you with a white cross above your head so they know you cannot be harmed. Meanwhile, you will see a countdown timer above your ammo which indicates how much longer you have left before you can be harmed again. * Team Balance Team Balance solves the problem of joining a server and finding it 10 on 4. When the teams get unevened, the server goes into a grace period where players are given the opportunity to even the teams on their own. After that, the server gives a warning about unbalanced teams. Halfway till the server force balances, it gives a final warning. Then it will balance the teams. It moves the lowest scoring players from the team with the most players to the team with the least players. * Ammo Limitation The server can limit the amount of ammo you start out with. It can also set the amount of ammo for individual weapons. Ammo is in the form of extra clips. For example, 2 extra clips for a Thompson is 60 bullets. * Late-Join and Switch-Team Penalties The server can specify a penalty in seconds to be added to a player's respawn time if they join the game late or switch teams. * About Grace Periods The round grace period allows you to switch teams and weapons without any hinderance at the beginning of the round, or switching weapons after being forced to the other team by Team Balance. The Team Balance grace period is the time before the first warning. * Friendly Fire Mode 3 If scr_friendlyfire is set to 3, you and your attacker both get half damage. This allows you to have a friendly fire penalty while still punishing those who walk in your line of fire. * Server Banners Server Banners is a feature where the server admin can have the server periodically tell the clients important information. It could be a reminder to follow the rules, a website plug, or anything else the admin wants to convey to the users. For more information on how to create a banner file, view _mod_b_banner.gsc for the specifications on how to set up the directory and script the banner file. * Team Killing Penalties If a player TK's a number of players equal to b_player_tklimit, then the player receives penalties set forth by the b_player_tkmode cvar. If it is set to 0, all damage will be reflected back to the player. If set to 1, time equal to b_player_tk_spawnPenalty is permanently added to their respawn timer. * Limited Lives Setting b_player_lives to a value other than 0 will set a life limit. When you die, you lose a life. If you hit 0 lives, you cannot respawn. Also, if Limited Lives is in effect, you cannot join a game already in progress. You must wait until the round ends. If IW releases a way to get the player GUID, I will change this feature to give the player lives according to how long the match has lasted. Currently, there is no way to check if a player reconnects to bypass the limit, so I am forced to prevent late-joins. The cvar scr_rsd_graceperiod controls how long into the match people are allowed to join before the match is cut off from them. So, if your server changes maps, set it to something like 30 seconds to let slow loaders re-join the game. -=CVAR's Used=- * scr_rsd_roundlimit default 1 min 1 Number of rounds to a game. * scr_rsd_roundlength default 10 max 30 min 1 Round length in minutes. * scr_rsd_graceperiod default 15 max 60 min 0 Period of seconds where players can change team/weapons with no penalty. * b_rsd_queueTime_allies default 30 max 99 min 1 Seconds for allies to respawn. * b_rsd_queueTime_axis default 30 max 99 min 1 Seconds for axis to respawn. * b_rsd_obj_destroyBoth default 1 max 1 min 0 Type of game. * b_rsd_bomb_arm default 3 max 99 min 0 Seconds to arm bomb. * b_rsd_bomb_defuse default 6 max 99 min 0 Seconds to disarm bomb. * b_rsd_bomb_time default 36 max 99 min 1 Seconds until bomb explodes. * b_rsd_bomb_blow_points default 4 min 0 Points gained blowing up an objective. * b_rsd_bomb_arm_points default 2 min 0 Points gained when arming a bomb. * b_rsd_bomb_defuse_points default 2 min 0 Points gained when disarming a bomb. * b_rsd_bomb_suddenDeath default 1 max 1 min 0 Sudden Death Plant Mode. * b_rsd_latejoin_penalty default 0 max 99 min 0 Respawn penalty in seconds if player joins the game late. * b_rsd_switchteam_penalty default 10 max 99 min 0 Respawn penalty in seconds if player switches teams. * b_rsd_suicide_penalty default 10 max 99 min 0 Respawn penalty in seconds if player commits suicide with /kill. * b_spawn_protect_allies default 5 max 60 min 0 Seconds player is invulnerable after spawn. * b_spawn_protect_axis default 5 max 60 min 0 Seconds player is invulnerable after spawn. * b_spawn_protect_noShoot default 0 max 1 min 0 If set to 1, shooting will take away your spawn invulnerability. * b_player_health default 100 max 1000 min 1 Sets the health of the player. * b_player_dropHealth default 0 max 1 min 0 If 1, players drop health when they die. * b_player_lives_allies default 0 max 99 min 0 Sets the player max lives. * b_player_lives_axis default 0 max 99 min 0 Sets the player max lives. * b_player_tkmode default 0 Sets the TK mode for the server. * b_player_tklimit default 5 min 0 Sets the TK limit before all team damage is reflected. * b_player_tk_spawnPenalty default 5 min 0 Seconds added to respawn if being a bad TK'er. * b_limitedlives_lateJoin default 0 max 1 min 0 If 1, allows late joins. * b_banners default 1 Sets the server to use banners or not. -=How to Install=- Two ways to install. Either extract all the pk3's into your main/ directory, or use the fs_game cvar. For instructions on how to use fs_game, please refer to this post: http://www.iwnation.com/Forums/index.php?showtopic=1001 -=How to Add RSD Spawns to Your Map=- Make sure you add spawnpoints with the following classnames: * mp_rsd_spawn_allied * mp_rsd_spawn_axis * mp_rsd_intermission