diff --git a/objects/obj_enunit/Alarm_0.gml b/objects/obj_enunit/Alarm_0.gml index 0b53cac65c..a8a018feb0 100644 --- a/objects/obj_enunit/Alarm_0.gml +++ b/objects/obj_enunit/Alarm_0.gml @@ -1,13 +1,8 @@ -var __b__; -__b__ = action_if_number(obj_pnunit, 0, 2); -if __b__ -{ -{ - - - +if (!instance_exists(obj_pnunit)) { + exit; +} -var leftest,charge=0,enemy2=0,chapter_fuck=1,unit; +var leftest,charge=0,enemy2=0,target_unit_index=0,unit; // with(obj_pnunit){if (x<-4000) or (defenses=1) then instance_deactivate_object(id);} @@ -41,174 +36,205 @@ else if (flank=1){ } //In melee check -engaged = point_distance(x,0,enemy.x,0)<=10 || !position_empty(x+flank?10:-10,y); +engaged = collision_point(x-10, y, obj_pnunit, 0, 1) || collision_point(x+10, y, obj_pnunit, 0, 1); -//show_debug_message($"enemy is in melee {engaged}") +// show_debug_message($"enemy is in melee {engaged}") + +if (!engaged){ // Shooting -if (!engaged){// Shooting - var i=0,dist=999,block=0; - dist=get_block_distance(enemy); - - var wall_exists=0; - if (instance_exists(obj_nfort)){ - wall_exists=1; - dist=2; - } - /*with(obj_pnunit){if (veh_type[1]="Defenses") then instance_create(x,y,obj_temp_inq);} - if (instance_exists(obj_temp_inq)){ - enemy=instance_nearest(obj_temp_inq.x,obj_temp_inq.y,obj_pnunit); - with(obj_temp_inq){instance_destroy();} - }*/ if (!instance_exists(obj_pnunit)) then exit; for (var i=0;i0){// Give the wall the melee D - enemy=instance_nearest(x,y,obj_nfort); - var bug1=instance_nearest(40,y,obj_enunit); - if (range[i]=1) and (bug1.id=self.id) then range[i]=2; - enemy2=enemy; - dist=2; - } + + dist=get_block_distance(enemy); + target_unit_index=0; + + if (range[i] >= dist) { // The weapon is in range; + var _target_vehicles = apa[i] > 0 ? true : false; // AP weapons target vehicles + + // if (string_count("Gauss",wep[i])>0) then _target_vehicles=true; + // if (wep[i]="Missile Launcher") or (wep[i]="Rokkit Launcha") or (wep[i]="Kannon") then _target_vehicles=true; + // if (wep[i]="Big Shoota") then _target_vehicles=false; + // if (wep[i]="Devourer") then _target_vehicles=false; + // if (wep[i]="Gauss Particle Cannon") or (wep[i]="Overcharged Gauss Cannon") or (wep[i]="Particle Whip") then _target_vehicles=true; - if (wep_num[i]>0) and (range[i]>=dist) and (range[i]!=1) and (combi[i]<2) and (ammo[i]!=0){// Weapon meets preliminary checks - - var _armour_piercing=0; - if (apa[i]>0) then _armour_piercing=1;// Determines if it is _armour_piercing or not - // if (string_count("Gauss",wep[i])>0) then _armour_piercing=1; - - // show_message(string(wep[i])+" is in range and _armour_piercing:"+string(_armour_piercing)); + // Weird alpha strike mechanic, that changes target unit index to CM; + if ((wep[i]="Power Fist") or (wep[i]="Bolter")) and (obj_ncombat.alpha_strike>0) and (wep_num[i]>5){ + obj_ncombat.alpha_strike-=0.5; - if (wep[i]="Missile Launcher") or (wep[i]="Rokkit Launcha") or (wep[i]="Kannon") then _armour_piercing=1; - if (wep[i]="Big Shoota") then _armour_piercing=0; - if (wep[i]="Devourer") then _armour_piercing=0; - if (wep[i]="Gauss Particle Cannon") or (wep[i]="Overcharged Gauss Cannon") or (wep[i]="Particle Whip") then _armour_piercing=1; - - - - if ((wep[i]="Power Fist") or (wep[i]="Bolter")) and (obj_ncombat.alpha_strike>0) and (wep_num[i]>5){ - obj_ncombat.alpha_strike-=0.5; - - var cm_present = false; - var cm_index = -1; - var cm_block = false; - with(obj_pnunit){ - for (var u=0;u1) and (obj_ncombat.enemy!=7){// First target does not have vehicles, cycle through objects to find one that has vehicles + scr_shoot(i,enemy,target_unit_index,"arp","ranged"); + // show_debug_message($"I'm shooting at a vehicle! {wep[i]}; Column ID: {id}; Enemy Unit: {wep_owner[i]}"); + continue; + } else if (instance_number(obj_pnunit)>1) and (obj_ncombat.enemy!=7) { var x2=enemy.x; repeat(instance_number(obj_pnunit)-1){ - if (good=0){ - if (flank=0) then x2-=10; - if (flank=1) then x2+=10; - enemy2=instance_nearest(x2,y,obj_pnunit); - if (enemy2.veh+enemy2.dreads>0) and (good=0){ - // good=scr_target(enemy2,"veh");// This target has vehicles, blow it to hell - scr_shoot(i,enemy2,chapter_fuck,"arp","ranged"); - } + x2 += flank == 0 ? -10 : 10; + var enemy2=instance_nearest(x2,y,obj_pnunit); + if (!target_block_is_valid(enemy2, obj_pnunit)) { + continue; + } + if (range[i] < get_block_distance(enemy2)) { + break; + } + if (block_has_armour(enemy2)) { + scr_shoot(i,enemy2,target_unit_index,"arp","ranged"); + // show_debug_message($"I'm shooting at a vehicle in another row! {wep[i]}; Column ID: {id}; Enemy Unit: {wep_owner[i]}"); + _shot = true; + break; } } + if (!_shot) { + _no_vehicles_present = true; + _target_vehicles = false; + } } - if (good=0) then _armour_piercing=false;// Fuck it, shoot at infantry - } - if (_armour_piercing) and (instance_exists(obj_nfort)) and (!flank){// Huff and puff and blow the wall down + } else { enemy=instance_nearest(x,y,obj_nfort); - - scr_shoot(i,enemy,1,"arp","wall"); + if (range[i] >= get_block_distance(enemy)) { + scr_shoot(i,enemy,1,"arp","wall"); + // show_debug_message($"I'm shooting at the fort! {wep[i]}; Column ID: {id}; Enemy Unit: {wep_owner[i]}"); + continue; + } } - - // if (wall_exists=0) or (flank=1) - - - if (string_count("Gauss",wep[i])) then _armour_piercing=false; - - // Shooting normal marines; - if ((!_armour_piercing) && ((!instance_exists(obj_nfort)) || flank) && instance_exists(obj_pnunit) && instance_exists(enemy)) { - if (enemy.men > 0) { - // There are marines in the first column; - if (target_block_is_valid(enemy, obj_pnunit)) { - scr_shoot(i, enemy, chapter_fuck, "att", "ranged"); + } + + // Non-AP weapons attacking normal units; + if ((!_target_vehicles) && ((!instance_exists(obj_nfort)) || flank)) { + var _shot = false; + if (enemy.men > 0) { + // There are marines in the first column; + scr_shoot(i, enemy, target_unit_index, "att", "ranged"); + // show_debug_message($"I'm shooting at a normal unit! {wep[i]}; Column ID: {id}; Enemy Unit: {wep_owner[i]}"); + continue; + } else if (instance_number(obj_pnunit) > 1) { + // There were no marines in the first column, looking behind; + var _column_size_value = (enemy.veh * 2.5) + (enemy.dreads * 2) + (enemy.men * 0.5); + var x2 = enemy.x; + + repeat (instance_number(obj_pnunit) - 1) { + x2 += !flank ? 10 : -10; + var enemy2 = instance_nearest(x2, y, obj_pnunit); + if (!target_block_is_valid(enemy2, obj_pnunit)) { + // show_debug_message($"The block is invalid!"); continue; } - } else if (instance_number(obj_pnunit) > 1) { - if (enemy2.men > 0) { + + if (range[i] < get_block_distance(enemy2)) { + // show_debug_message($"The range is bad!"); + break; + } + + var _back_column_size_value = (enemy2.veh * 2.5) + (enemy2.dreads * 2) + (enemy2.men * 0.5); + if (_back_column_size_value < _column_size_value) { + // show_debug_message($"Protection value is too big!"); continue; + } else { + // Calculate chance of shots passing through to back row + // Higher ratio of back column size to front column size increases pass-through chance + // Maximum chance capped at 40% to ensure some protection remains + var _pass_chance = ((_back_column_size_value / _column_size_value) - 1) * 100; + if (irandom_range(1, 100) < min(_pass_chance, 80)) { + // show_debug_message($"I failed the protection check!"); + continue; + } } + scr_shoot(i, enemy2, target_unit_index, "att", "ranged"); + // show_debug_message($"I'm shooting at a normal unit in another row! {wep[i]}; Column ID: {id}; Enemy Unit: {wep_owner[i]}"); + _shot = true; + break; + } + } - // There were no marines in the first column, looking behind; - var enemy2; - - var _column_size_value = (enemy.veh * 2.5) + (enemy.dreads * 2) + (enemy.men * 0.5); - var x2 = enemy.x; - x2 += !flank ? 10 : -10; - - repeat (instance_number(obj_pnunit) - 1) { - enemy2 = instance_nearest(x2, y, obj_pnunit); - - var _back_column_size_value = (enemy2.veh * 2.5) + (enemy2.dreads * 2) + (enemy2.men * 0.5); - if (_back_column_size_value < _column_size_value) { - continue; - } else { - // Calculate chance of shots passing through to back row - // Higher ratio of back column size to front column size increases pass-through chance - // Maximum chance capped at 60% to ensure some protection remains - var _pass_chance = ((_back_column_size_value / _column_size_value) - 1) * 100; - if (irandom_range(1, 100) > min(_pass_chance, 60)) { + // We failed to find normal units to attack, attacking vehicles with a non-AP weapon; + //TODO: All of these code blocks should be functions instead; + if (!_shot && !_no_vehicles_present) { + if (!instance_exists(obj_nfort)) or (flank) { + if (block_has_armour(enemy)) or (enemy.veh_type[1]=="Defenses"){ + scr_shoot(i,enemy,target_unit_index,"att","ranged"); + // show_debug_message($"I'm shooting at a vehicle, because I can't find a normal unit! {wep[i]}; Column ID: {id}; Enemy Unit: {wep_owner[i]}"); + continue; + } else if (instance_number(obj_pnunit)>1) and (obj_ncombat.enemy!=7) { + var x2=enemy.x; + repeat(instance_number(obj_pnunit)-1){ + x2 += flank == 0 ? -10 : 10; + var enemy2=instance_nearest(x2,y,obj_pnunit); + if (!target_block_is_valid(enemy2, obj_pnunit)) { continue; } + if (range[i] < get_block_distance(enemy2)) { + break; + } + if (block_has_armour(enemy2)) { + scr_shoot(i,enemy2,target_unit_index,"att","ranged"); + // show_debug_message($"I'm shooting at a vehicle in another row, because I can't find a normal unit! {wep[i]}; Column ID: {id}; Enemy Unit: {wep_owner[i]}"); + break; + } } - - scr_shoot(i, enemy2, chapter_fuck, "att", "ranged"); + } + } else { + enemy=instance_nearest(x,y,obj_nfort); + if (range[i] >= get_block_distance(enemy)) { + scr_shoot(i,enemy,1,"att","wall"); + // show_debug_message($"I'm shooting at a fort, because I can't find a normal unit! {wep[i]}; Column ID: {id}; Enemy Unit: {wep_owner[i]}"); + continue; } } } } + } else { + // show_debug_message($"I can't shoot, my range is too small! Weapon: {wep[i]}; Column ID: {id}; Enemy Unit: {wep_owner[i]}; Range: {range[i]}"); + continue; } + log_error($"{wep[i]} didn't find a valid target! This shouldn't happen!"); + // show_debug_message($"We didn't find a valid target! Weapon: {wep[i]}; Column ID: {id}; Enemy Unit: {wep_owner[i]}"); } } @@ -398,6 +424,4 @@ instance_activate_object(obj_pnunit); /* */ } -} -} /* */ diff --git a/objects/obj_enunit/Create_0.gml b/objects/obj_enunit/Create_0.gml index e0ce9255ea..5c129c30b6 100644 --- a/objects/obj_enunit/Create_0.gml +++ b/objects/obj_enunit/Create_0.gml @@ -33,7 +33,6 @@ i=0; repeat(1001){i+=1; wep[i]=""; wep_num[i]=0; - combi[i]=0; range[i]=0; att[i]=0; apa[i]=0; diff --git a/objects/obj_pnunit/Create_0.gml b/objects/obj_pnunit/Create_0.gml index c231f14bbf..e4f8464563 100644 --- a/objects/obj_pnunit/Create_0.gml +++ b/objects/obj_pnunit/Create_0.gml @@ -81,7 +81,6 @@ repeat(71){i+=1; wep[i]=""; wep_num[i]=0; wep_rnum[i]=0; - combi[i]=0; range[i]=0; att[i]=0; apa[i]=0; diff --git a/scripts/scr_en_weapon/scr_en_weapon.gml b/scripts/scr_en_weapon/scr_en_weapon.gml index 49c1f41a96..dce60ac22b 100644 --- a/scripts/scr_en_weapon/scr_en_weapon.gml +++ b/scripts/scr_en_weapon/scr_en_weapon.gml @@ -21,998 +21,995 @@ function scr_en_weapon(name, is_man, man_number, man_type, group) { acr = 0; amm = -1; faith_bonus = 0; - var struct = gear_weapon_data("weapon",name); - if (!struct){ - if (string_count("elee", name) > 0) { - var to; - to = string_delete(name, 0, 5); - atta = 10; + // var struct = gear_weapon_data("weapon",name); + if (string_count("elee", name) > 0) { + var to; + to = string_delete(name, 0, 5); + atta = 10; + arp = 0; + rang = 1; + spli = 3; + } + + //if (obj_ncombat.enemy=5) then faith_bonus=faith[man_type]; + + if (name = "Venom Claws") { + atta = 200; + arp = 0; + rang = 1; + spli = 0; + if (obj_ini.preomnor = 1) { + atta = 240; + } + } + if (name = "Web Spinner") { + atta = 40; + arp = 0; + rang = 2.1; + spli = 3; + amm = 1; + } + if (name = "Warpsword") { + atta = 300; + arp = 1; + rang = 1; + spli = 3; + } + if (name = "Iron Claw") { + atta = 400; + arp = 1; + rang = 1; + spli = 0; + } + if (name = "Maulerfiend Claws") { + atta = 300; + arp = 300; + rang = 1; + spli = 3; + } + + if (name = "Eldritch Fire") { + atta = 80; + arp = 1; + rang = 5.1; + } + if (name = "Bloodletter Melee") { + atta = 70; + arp = 0; + rang = 1; + spli = 3; + } + if (name = "Daemonette Melee") { + atta = 65; + arp = 0; + rang = 1; + spli = 3; + } + if (name = "Plaguebearer Melee") { + atta = 60; + arp = 0; + rang = 1; + spli = 3; + if (obj_ini.preomnor = 1) { + atta = 70; + } + } + if (name = "Khorne Demon Melee") { + atta = 350; + arp = 1; + rang = 1; + spli = 3; + } + if (name = "Demon Melee") { + atta = 250; + arp = 1; + rang = 1; + spli = 3; + } + if (name = "Lash Whip") { + atta = 80; + arp = 0; + rang = 2; + } + if (name = "Nurgle Vomit") { + atta = 100; + arp = 0; + rang = 2; + spli = 3; + if (obj_ini.preomnor = 1) { + atta = 260; + } + } + if (name = "Multi-Melta") { + atta = 200; + arp = 1; + rang = 4.1; + spli = 0; + amm = 6; + } + + if (obj_ncombat.enemy = 3) { + if (name = "Phased Plasma-fusil") { + atta = 100; + arp = 1; + rang = 7.1; + spli = 3; + } + if (name = "Lightning Gun") { + atta = choose(80, 80, 80, 150); + arp = 0; + rang = 5; + spli = 0; + } + if (name = "Thallax Melee") { + atta = 80; + arp = 0; + rang = 1; + spli = 3; + } + } + + if (obj_ncombat.enemy = 6) { + + if (argument0 = "Fusion Gun") or(argument0 = "Firepike") { + atta = 200; + arp = 1; + rang = 2; + amm = 4; + } + if (argument0 = "Singing Spear") { + atta = 120; + arp = 0; + rang = 1; + spli = 3; + } + if (argument0 = "Singing Spear Throw") { + atta = 120; + arp = 1; + rang = 2; + spli = 3; + } + if (argument0 = "Witchblade") { + atta = 100; + arp = 1; + rang = 1; + } + if (argument0 = "Psyshock") { + atta = 50; + arp = 0; + rang = 2; + } + if (argument0 = "Wailing Doom") { + atta = 200; + arp = 1; + rang = 1; + spli = 3; + } + if (argument0 = "Avatar Smite") { + atta = 300; + arp = 1; + rang = 2; + amm = 2; + } + if (argument0 = "Ranger Long Rifle") { + atta = 60; + arp = 0; + rang = 25; + } + if (argument0 = "Pathfinder Long Rifle") { + atta = 70; + arp = 0; + rang = 25; + } + if (argument0 = "Shuriken Catapult") { + atta = 35; + arp = 0; + rang = 2; + } + if (argument0 = "Twin Linked Shuriken Catapult") { + atta = 50; + arp = 0; + rang = 2; + } + if (argument0 = "Avenger Shuriken Catapult") { + atta = 40; + arp = 0; + rang = 3; + } + if (argument0 = "Power Weapon") or(argument0 = "Power Blades") { + atta = 80; + arp = 0; + rang = 1; + spli = 3; + } + if (argument0 = "Shuriken Pistol") { + atta = 25; + arp = 0; + rang = 2.1; + } + if (argument0 = "Executioner") { + atta = 200; + arp = 1; + rang = 1; + } + if (argument0 = "Scorpion Chainsword") { + atta = 40; + arp = 0; + rang = 1; + spli = 3; + } + if (argument0 = "Mandiblaster") { + atta = 20; + arp = 0; + rang = 1; + } + if (argument0 = "Biting Blade") { + atta = 70; + arp = 0; + rang = 1; + spli = 3; + } + if (argument0 = "Scorpian's Claw") { + atta = 150; + arp = 1; + rang = 1; + spli = 3; + } + if (argument0 = "Meltabomb") { + atta = 0; + arp = 200; + rang = 1; + amm = 1; + } + if (argument0 = "Deathspinner") { + atta = 50; + arp = 0; + rang = 2; + } + if (argument0 = "Dual Deathspinner") { + atta = 80; + arp = 0; + rang = 2; + } + if (argument0 = "Reaper Launcher") { + atta = 150; + arp = 80; + rang = 20; + amm = 8; + spli = 3; + } + if (argument0 = "Eldar Missile Launcher") { + atta = 200; + arp = 1; + rang = 20; + amm = 4; + spli = 3; + } + if (argument0 = "Laser Lance") { + atta = 80; + arp = 0; + rang = 2; + spli = 3; + } + if (argument0 = "Fusion Pistol") { + atta = 100; + arp = 1; + rang = 1.1; + amm = 4; + } + if (argument0 = "Plasma Pistol") { + atta = 60; + arp = 1; + rang = 3.1; + } + if (argument0 = "Harlequin's Kiss") { + atta = 350; + arp = 0; + rang = 1; + amm = 1; + } + if (argument0 = "Wraithcannon") { + atta = 80; + arp = 1; + rang = 2.1; + } + if (argument0 = "Pulse Laser") { + atta = 80; + arp = 1; + rang = 15; + } + if (argument0 = "Bright Lance") { + atta = 100; + arp = 1; + rang = 8; + } + if (argument0 = "Shuriken Cannon") { + atta = 65; + arp = 0; + rang = 3; + } + if (argument0 = "Prism Cannon") { + atta = 250; + arp = 1; + rang = 20; + } + if (argument0 = "Twin Linked Doomweaver") { + atta = 100; + arp = 0; + rang = 2; + } // Also create difficult terrain? + if (argument0 = "Starcannon") { + atta = 140; + arp = 1; + rang = 3; + spli = 3; + } + if (argument0 = "Two Power Fists") { + atta = 300; + arp = 1; + rang = 1; + } + if (argument0 = "Flamer") { + atta = 100; + arp = 0; + rang = 2; + amm = 4; + spli = 3; + } + if (argument0 = "Titan Starcannon") { + atta = 220; + arp = 1; + rang = 4; + spli = 3; + } + if (argument0 = "Phantom Pulsar") { + atta = 500; + arp = 1; + rang = 20; + spli = 3; + } + } + + if (obj_ncombat.enemy = 7) { + + if (argument0 = "Choppa") { + atta = 28; + arp = 0; + rang = 1; + spli = 3; + } + if (argument0 = "Power Klaw") { + atta = 150; + arp = 1; + rang = 1; + spli = 3; + } + if (argument0 = "Slugga") { + atta = 27; + arp = 0; + rang = 3.1; + amm = 4; + spli = 3; + } + if (argument0 = "Tankbusta Bomb") { + atta = 264; + arp = 1; + rang = 1; + amm = 1; + spli = 0; + } + if (argument0 = "Big Shoota") { + atta = 100; + arp = 0; + rang = 12; + amm = 30; + spli = 0; + } + if (argument0 = "Dakkagun") { + atta = 150; + arp = 0; + rang = 10; + amm = 20; + spli = 0; + } + if (argument0 = "Deffgun") { + atta = 120; + arp = 0; + rang = 8; + amm = 20; + spli = 0; + } + if (argument0 = "Snazzgun") { + atta = 80; + arp = 0; + rang = 10; + spli = 0; + } + if (argument0 = "Grot Blasta") { + atta = 12; + arp = 0; + rang = 2; + amm = 6; + } + if (argument0 = "Kannon") { + atta = 200; + arp = 1; + rang = 10.1; + amm = 5; + spli = 3; + } + if (argument0 = "Shoota") { + atta = 30; + arp = 0; + rang = 6; + } + if (argument0 = "Burna") { + atta = 140; + arp = 1; + rang = 2; + amm = 4; + spli = 3; + } + if (argument0 = "Skorcha") { + atta = 160; + arp = 1; + rang = 2; + amm = 6; + spli = 3; + } + if (argument0 = "Rokkit Launcha") { + atta = 150; + arp = 1; + rang = 15; + spli = 3; + } + if (argument0 = "Krooz Missile") { + atta = 250; + arp = 1; + rang = 15; + spli = 3; + } + + } + + if (obj_ncombat.enemy = 8) { + if (name = "Fusion Blaster") { + atta = 200; + arp = 1; + rang = 2; + amm = 4; + } + if (name = "Plasma Rifle") { + atta = 120; + arp = 1; + rang = 10; + } + if (name = "Cyclic Ion Blaster") { + atta = 180; + arp = 0; + rang = 6; + spli = 3; + } // x6 + if (name = "Burst Rifle") { + atta = 130; + arp = 0; + rang = 16; + spli = 3; + } + if (name = "Missile Pod") { + atta = 160; + arp = 1; + rang = 15; + amm = 6; + spli = 3; + } + if (name = "Smart Missile System") { + atta = 150; + arp = 1; + rang = 15; + } + if (name = "Small Railgun") { + atta = 150; + arp = 1; + rang = 18; + } + if (name = "Pulse Rifle") { + atta = 37; + arp = 0; + rang = 12; + } + if (name = "Rail Rifle") { + atta = 65; + arp = 0; + rang = 14; + } + if (name = "Kroot Rifle") { + atta = 25; + arp = 0; + rang = 6; + } + if (name = "Vespid Crystal") { + atta = 60; arp = 0; + rang = 2.1; + } + if (name = "Railgun") { + atta = 400; + arp = 1; + rang = 20; + } + } + + if (obj_ncombat.enemy = 9) { + + if (argument0 = "Bonesword") { + atta = 120; + arp = 0; + rang = 1; + spli = 3; + } + if (argument0 = "Lash Whip") { + atta = 80; + arp = 0; + rang = 2; + } + if (argument0 = "Heavy Venom Cannon") { + atta = 150; + arp = 1; + rang = 8; + } + if (argument0 = "Crushing Claws") { + atta = 90; + arp = 1; rang = 1; spli = 3; } + if (argument0 = "Rending Claws") { + atta = 80; + arp = 1; + rang = 1; + spli = 3; + } + if (argument0 = "Devourer") { + atta = choose(40, 60, 80, 100); + arp = 0; + rang = 5; + if (obj_ini.preomnor = 1) { + atta = choose(48, 72, 96, 120); + } + } + if (argument0 = "Zoanthrope Blast") { + atta = 200; + arp = 1; + rang = 2; + } + if (argument0 = "Carnifex Claws") { + atta = 300; + arp = 1; + rang = 1; + spli = 3; + } + if (argument0 = "Venom Cannon") { + atta = 150; + arp = 0; + rang = 5; + } + if (argument0 = "Deathspitter") { + atta = 100; + arp = 0; + rang = 2.1; + if (obj_ini.preomnor = 1) { + atta = 120; + } + } + if (argument0 = "Fleshborer") { + atta = 15; + arp = 0; + rang = 2.1; + if (obj_ini.preomnor = 1) { + atta = 19; + } + } + if (argument0 = "Scything Talons") { + atta = 30; + arp = 0; + rang = 1; + } + if (argument0 = "Genestealer Claws") { + atta = choose(105, 105, 130); + arp = 1; + rang = 1; + } + if (argument0 = "Witchfire") { + atta = 100; + arp = 1; + rang = 2; + } + if (argument0 = "Autogun") { + atta = 20; + arp = 0; + rang = 6; + amm = 12; + spli = 3; + } + if (argument0 = "Lictor Claws") { + atta = 300; + arp = 0; + rang = 1; + } + if (argument0 = "Flesh Hooks") { + atta = 50; + arp = 0; + rang = 2; + amm = 1; + } - //if (obj_ncombat.enemy=5) then faith_bonus=faith[man_type]; + } + + if (obj_ncombat.enemy >= 10) or(obj_ncombat.enemy = 2) or(obj_ncombat.enemy = 5) or(obj_ncombat.enemy = 1) { - if (name = "Venom Claws") { + if (argument0 = "Plasma Pistol") { + atta = 70; + arp = 1; + rang = 3.1; + } + if (argument0 = "Power Weapon") { + atta = 120; + arp = 0; + rang = 1; + } + if (argument0 = "Power Sword") { + atta = 120; + arp = 0; + rang = 1; + } + if (argument0 = "Force Weapon") { + atta = 400; + arp = 1; + rang = 1; + } + if (argument0 = "Chainfist") { + atta = 300; + arp = 1; + rang = 1; + spli = 3; + } + if (argument0 = "Meltagun") { + atta = 200; + arp = 1; + rang = 2; + amm = 4; + } + if (argument0 = "Flamer") { + atta = 160; + arp = 0; + rang = 2.1; + amm = 4; + spli = 3; + } + if (argument0 = "Heavy Flamer") { + atta = 250; + arp = 0; + rang = 2.1; + amm = 6; + spli = 3; + } + if (argument0 = "Combi-Flamer") { + atta = 160; + arp = 0; + rang = 2.1; + amm = 1; + spli = 3; + } + if (argument0 = "Bolter") { + atta = 45; + arp = 0; + rang = 12; + amm = 15; + if (obj_ncombat.enemy = 5) then atta = 35; + } // Bursts + if (argument0 = "Power Fist") { + atta = 425; + arp = 1; + rang = 1; + } + if (argument0 = "Possessed Claws") { + atta = 250; + arp = 1; + rang = 1; + spli = 3; + } + if (argument0 = "Missile Launcher") { + atta = 200; + arp = 1; + rang = 20; + amm = 4; + spli = 3; + } + if (argument0 = "Chainsword") { + atta = 45; + arp = 0; + rang = 1; + } + if (argument0 = "Bolt Pistol") { + atta = 35; + arp = 0; + rang = 3.1; + amm = 18; + } + if (argument0 = "Chainaxe") { + atta = 55; + arp = 0; + rang = 1; + } + if (argument0 = "Poisoned Chainsword") { + atta = 90; + arp = 0; + rang = 1; + if (obj_ini.preomnor = 1) { + atta = 130; + } + } + if (argument0 = "Sonic Blaster") { + atta = 120; + arp = 0; + rang = 3; + spli = 3; + } + if (argument0 = "Rubric Bolter") { + atta = 80; + arp = 0; + rang = 12; + amm = 15; + } // Bursts + if (argument0 = "Witchfire") { atta = 200; + arp = 1; + rang = 5.1; + } + if (argument0 = "Autogun") { + atta = 20; + arp = 0; + rang = 6; + amm = 12; + } + if (argument0 = "Storm Bolter") { + atta = 65; + arp = 0; + rang = 8; + amm = 10; + spli = 3; + } + if (argument0 = "Lascannon") { + atta = 200; + arp = 1; + rang = 20; + amm = 8; + } + if (argument0 = "Twin Linked Heavy Bolters") { + atta = 240; + arp = 0; + rang = 16; + spli = 3; + } + if (argument0 = "Twin-Linked Heavy Bolters") { + atta = 240; + arp = 0; + rang = 16; + spli = 3; + } + if (argument0 = "Twin Linked Lascannon") { + atta = 300; + arp = 1; + rang = 20; + } + if (argument0 = "Twin-Linked Lascannon") { + atta = 300; + arp = 1; + rang = 20; + } + if (argument0 = "Battle Cannon") { + atta = 300; + arp = 1; + rang = 12; + } + if (argument0 = "Demolisher Cannon") { + atta = 500; + arp = 1; + rang = 2; + if (instance_exists(obj_nfort)) then rang = 5; + } + if (argument0 = "Earthshaker Cannon") { + atta = 300; + arp = 0; + rang = 12; + spli = 3; + } + if (argument0 = "Havoc Launcher") { + atta = 100; + arp = 0; + rang = 12; + } + if (argument0 = "Baleflame") { + atta = 120; + arp = 0; + rang = 2; + } + if (argument0 = "Defiler Claws") { + atta = 350; + arp = 1; + rang = 1; + spli = 3; + } + if (argument0 = "Reaper Autocannon") { + atta = 320; + arp = 0; + rang = 18; + amm = 10; + spli = 3; + } + + if (name = "Ripper Gun") { + atta = 40; + arp = 0; + rang = 3; + amm = 5; + spli = 0; + } + if (name = "Ogryn Melee") { + atta = 90; + arp = 0; + rang = 1; + } + if (name = "Multi-Laser") { + atta = choose(60, 75, 90, 105); + arp = 0; + rang = 10; + } + + if (argument0 = "Blessed Weapon") { + atta = 150; + arp = 1; + rang = 1; + } + if (argument0 = "Electro-Flail") { + atta = 125; + arp = 1; + rang = 1; + spli = 3; + } + if (argument0 = "Neural Whip") { + atta = 85; arp = 0; rang = 1; - spli = 0; - if (obj_ini.preomnor = 1) { - atta = 240; - } + spli = 3 } - if (name = "Web Spinner") { - atta = 40; + if (argument0 = "Sarissa") { + atta = 65; arp = 0; - rang = 2.1; - spli = 3; - amm = 1; + rang = 2; } - if (name = "Warpsword") { - atta = 300; + if (argument0 = "Seraphim Pistols") { + atta = 200; arp = 1; - rang = 1; - spli = 3; + rang = 4; } - if (name = "Iron Claw") { - atta = 400; + if (argument0 = "Laser Mace") { + atta = 200; arp = 1; - rang = 1; + rang = 5.1; + amm = 3; + } + if (argument0 = "Heavy Bolter") { + atta = 120; + arp = 0; + rang = 16; spli = 0; } - if (name = "Maulerfiend Claws") { - atta = 300; - arp = 300; + + if (name = "Lasgun") { + atta = 20; + arp = 0; + rang = 6; + amm = 30; + } + if (name = "Daemonhost Claws") { + atta = 350; + arp = 1; rang = 1; spli = 3; } + if (name = "Daemonhost_Powers") { + atta = round(random_range(100, 300)); + arp = round(random_range(100, 300)); + rang = round(random_range(1, 6)); + spli = choose(0, 1); + } + } - if (name = "Eldritch Fire") { - atta = 80; + if (obj_ncombat.enemy = 13) { // Some of these, like the Gauss Particle Cannon and Particle Whip, used to be more than twice as strong. + if (name = "Staff of Light") { + atta = 200; arp = 1; - rang = 5.1; - } - if (name = "Bloodletter Melee") { - atta = 70; - arp = 0; rang = 1; spli = 3; } - if (name = "Daemonette Melee") { - atta = 65; + if (name = "Staff of Light Shooting") { + atta = 180; arp = 0; - rang = 1; + rang = 3; spli = 3; } - if (name = "Plaguebearer Melee") { - atta = 60; - arp = 0; + if (name = "Warscythe") { + atta = 200; + arp = 1; rang = 1; + spli = 0; + } + if (name = "Gauss Flayer") { + atta = choose(30, 30, 30, 50, 50, 70); + rang = 6.1; + spli = 0; + } + if (name = "Gauss Blaster") { + atta = choose(70, 70, 70, 70, 70, 100); + arp = choose(0, 0, 0, 0, 0, 1); + rang = 6.1; + spli = 0; + } + if (name = "Gauss Cannon") { + atta = 180; + arp = 1; + rang = 10; spli = 3; - if (obj_ini.preomnor = 1) { - atta = 70; - } } - if (name = "Khorne Demon Melee") { - atta = 350; + if (name = "Gauss Particle Cannon") { + atta = 300; arp = 1; - rang = 1; + rang = 10.1; spli = 3; } - if (name = "Demon Melee") { + if (name = "Overcharged Gauss Cannon") { atta = 250; arp = 1; - rang = 1; + rang = 8.1; spli = 3; } - if (name = "Lash Whip") { + if (name = "Wraith Claws") { atta = 80; - arp = 0; - rang = 2; - } - if (name = "Nurgle Vomit") { - atta = 100; - arp = 0; - rang = 2; - spli = 3; - if (obj_ini.preomnor = 1) { - atta = 260; - } - } - if (name = "Multi-Melta") { - atta = 200; arp = 1; - rang = 4.1; + rang = 1; spli = 0; - amm = 6; - } - - if (obj_ncombat.enemy = 3) { - if (name = "Phased Plasma-fusil") { - atta = 100; - arp = 1; - rang = 7.1; - spli = 3; - } - if (name = "Lightning Gun") { - atta = choose(80, 80, 80, 150); - arp = 0; - rang = 5; - spli = 0; - } - if (name = "Thallax Melee") { - atta = 80; - arp = 0; - rang = 1; - spli = 3; - } - } - - if (obj_ncombat.enemy = 6) { - - if (argument0 = "Fusion Gun") or(argument0 = "Firepike") { - atta = 200; - arp = 1; - rang = 2; - amm = 4; - } - if (argument0 = "Singing Spear") { - atta = 120; - arp = 0; - rang = 1; - spli = 3; - } - if (argument0 = "Singing Spear Throw") { - atta = 120; - arp = 1; - rang = 2; - spli = 3; - } - if (argument0 = "Witchblade") { - atta = 100; - arp = 1; - rang = 1; - } - if (argument0 = "Psyshock") { - atta = 50; - arp = 0; - rang = 2; - } - if (argument0 = "Wailing Doom") { - atta = 200; - arp = 1; - rang = 1; - spli = 3; - } - if (argument0 = "Avatar Smite") { - atta = 300; - arp = 1; - rang = 2; - amm = 2; - } - if (argument0 = "Ranger Long Rifle") { - atta = 60; - arp = 0; - rang = 25; - } - if (argument0 = "Pathfinder Long Rifle") { - atta = 70; - arp = 0; - rang = 25; - } - if (argument0 = "Shuriken Catapult") { - atta = 35; - arp = 0; - rang = 2; - } - if (argument0 = "Twin Linked Shuriken Catapult") { - atta = 50; - arp = 0; - rang = 2; - } - if (argument0 = "Avenger Shuriken Catapult") { - atta = 40; - arp = 0; - rang = 3; - } - if (argument0 = "Power Weapon") or(argument0 = "Power Blades") { - atta = 80; - arp = 0; - rang = 1; - spli = 3; - } - if (argument0 = "Shuriken Pistol") { - atta = 25; - arp = 0; - rang = 2.1; - } - if (argument0 = "Executioner") { - atta = 200; - arp = 1; - rang = 1; - } - if (argument0 = "Scorpion Chainsword") { - atta = 40; - arp = 0; - rang = 1; - spli = 3; - } - if (argument0 = "Mandiblaster") { - atta = 20; - arp = 0; - rang = 1; - } - if (argument0 = "Biting Blade") { - atta = 70; - arp = 0; - rang = 1; - spli = 3; - } - if (argument0 = "Scorpian's Claw") { - atta = 150; - arp = 1; - rang = 1; - spli = 3; - } - if (argument0 = "Meltabomb") { - atta = 0; - arp = 200; - rang = 1; - amm = 1; - } - if (argument0 = "Deathspinner") { - atta = 50; - arp = 0; - rang = 2; - } - if (argument0 = "Dual Deathspinner") { - atta = 80; - arp = 0; - rang = 2; - } - if (argument0 = "Reaper Launcher") { - atta = 150; - arp = 80; - rang = 20; - amm = 8; - spli = 3; - } - if (argument0 = "Eldar Missile Launcher") { - atta = 200; - arp = 1; - rang = 20; - amm = 4; - spli = 3; - } - if (argument0 = "Laser Lance") { - atta = 80; - arp = 0; - rang = 2; - spli = 3; - } - if (argument0 = "Fusion Pistol") { - atta = 100; - arp = 1; - rang = 1.1; - amm = 4; - } - if (argument0 = "Plasma Pistol") { - atta = 60; - arp = 1; - rang = 3.1; - } - if (argument0 = "Harlequin's Kiss") { - atta = 350; - arp = 0; - rang = 1; - amm = 1; - } - if (argument0 = "Wraithcannon") { - atta = 80; - arp = 1; - rang = 2.1; - } - if (argument0 = "Pulse Laser") { - atta = 80; - arp = 1; - rang = 15; - } - if (argument0 = "Bright Lance") { - atta = 100; - arp = 1; - rang = 8; - } - if (argument0 = "Shuriken Cannon") { - atta = 65; - arp = 0; - rang = 3; - } - if (argument0 = "Prism Cannon") { - atta = 250; - arp = 1; - rang = 20; - } - if (argument0 = "Twin Linked Doomweaver") { - atta = 100; - arp = 0; - rang = 2; - } // Also create difficult terrain? - if (argument0 = "Starcannon") { - atta = 140; - arp = 1; - rang = 3; - spli = 3; - } - if (argument0 = "Two Power Fists") { - atta = 300; - arp = 1; - rang = 1; - } - if (argument0 = "Flamer") { - atta = 100; - arp = 0; - rang = 2; - amm = 4; - spli = 3; - } - if (argument0 = "Titan Starcannon") { - atta = 220; - arp = 1; - rang = 4; - spli = 3; - } - if (argument0 = "Phantom Pulsar") { - atta = 500; - arp = 1; - rang = 20; - spli = 3; - } } - - if (obj_ncombat.enemy = 7) { - - if (argument0 = "Choppa") { - atta = 28; - arp = 0; - rang = 1; - spli = 3; - } - if (argument0 = "Power Klaw") { - atta = 150; - arp = 1; - rang = 1; - spli = 3; - } - if (argument0 = "Slugga") { - atta = 27; - arp = 0; - rang = 3.1; - amm = 4; - spli = 3; - } - if (argument0 = "Tankbusta Bomb") { - atta = 264; - arp = 1; - rang = 1; - amm = 1; - spli = 0; - } - if (argument0 = "Big Shoota") { - atta = 100; - arp = 0; - rang = 12; - amm = 30; - spli = 0; - } - if (argument0 = "Dakkagun") { - atta = 150; - arp = 0; - rang = 10; - amm = 20; - spli = 0; - } - if (argument0 = "Deffgun") { - atta = 120; - arp = 0; - rang = 8; - amm = 20; - spli = 0; - } - if (argument0 = "Snazzgun") { - atta = 80; - arp = 0; - rang = 10; - spli = 0; - } - if (argument0 = "Grot Blasta") { - atta = 12; - arp = 0; - rang = 2; - amm = 6; - } - if (argument0 = "Kannon") { - atta = 200; - arp = 1; - rang = 10.1; - amm = 5; - spli = 3; - } - if (argument0 = "Shoota") { - atta = 30; - arp = 0; - rang = 6; - } - if (argument0 = "Burna") { - atta = 140; - arp = 1; - rang = 2; - amm = 4; - spli = 3; - } - if (argument0 = "Skorcha") { - atta = 160; - arp = 1; - rang = 2; - amm = 6; - spli = 3; - } - if (argument0 = "Rokkit Launcha") { - atta = 150; - arp = 1; - rang = 15; - spli = 3; - } - if (argument0 = "Krooz Missile") { - atta = 250; - arp = 1; - rang = 15; - spli = 3; - } - + if (name = "Claws") { + atta = 300; + arp = 1; + rang = 1; + spli = 0; } - - if (obj_ncombat.enemy = 8) { - if (name = "Fusion Blaster") { - atta = 200; - arp = 1; - rang = 2; - amm = 4; - } - if (name = "Plasma Rifle") { - atta = 120; - arp = 1; - rang = 10; - } - if (name = "Cyclic Ion Blaster") { - atta = 180; - arp = 0; - rang = 6; - spli = 3; - } // x6 - if (name = "Burst Rifle") { - atta = 130; - arp = 0; - rang = 16; - spli = 3; - } - if (name = "Missile Pod") { - atta = 160; - arp = 1; - rang = 15; - amm = 6; - spli = 3; - } - if (name = "Smart Missile System") { - atta = 150; - arp = 1; - rang = 15; - } - if (name = "Small Railgun") { - atta = 150; - arp = 1; - rang = 18; - } - if (name = "Pulse Rifle") { - atta = 37; - arp = 0; - rang = 12; - } - if (name = "Rail Rifle") { - atta = 65; - arp = 0; - rang = 14; - } - if (name = "Kroot Rifle") { - atta = 25; - arp = 0; - rang = 6; - } - if (name = "Vespid Crystal") { - atta = 60; - arp = 0; - rang = 2.1; - } - if (name = "Railgun") { - atta = 400; - arp = 1; - rang = 20; - } + if (name = "Gauss Flux Arc") { + atta = 180; + arp = 1; + rang = 8; + spli = 3; } - - if (obj_ncombat.enemy = 9) { - - if (argument0 = "Bonesword") { - atta = 120; - arp = 0; - rang = 1; - spli = 3; - } - if (argument0 = "Lash Whip") { - atta = 80; - arp = 0; - rang = 2; - } - if (argument0 = "Heavy Venom Cannon") { - atta = 150; - arp = 1; - rang = 8; - } - if (argument0 = "Crushing Claws") { - atta = 90; - arp = 1; - rang = 1; - spli = 3; - } - if (argument0 = "Rending Claws") { - atta = 80; - arp = 1; - rang = 1; - spli = 3; - } - if (argument0 = "Devourer") { - atta = choose(40, 60, 80, 100); - arp = 0; - rang = 5; - if (obj_ini.preomnor = 1) { - atta = choose(48, 72, 96, 120); - } - } - if (argument0 = "Zoanthrope Blast") { - atta = 200; - arp = 1; - rang = 2; - } - if (argument0 = "Carnifex Claws") { - atta = 300; - arp = 1; - rang = 1; - spli = 3; - } - if (argument0 = "Venom Cannon") { - atta = 150; - arp = 0; - rang = 5; - } - if (argument0 = "Deathspitter") { - atta = 100; - arp = 0; - rang = 2.1; - if (obj_ini.preomnor = 1) { - atta = 120; - } - } - if (argument0 = "Fleshborer") { - atta = 15; - arp = 0; - rang = 2.1; - if (obj_ini.preomnor = 1) { - atta = 19; - } - } - if (argument0 = "Scything Talons") { - atta = 30; - arp = 0; - rang = 1; - } - if (argument0 = "Genestealer Claws") { - atta = choose(105, 105, 130); - arp = 1; - rang = 1; - } - if (argument0 = "Witchfire") { - atta = 100; - arp = 1; - rang = 2; - } - if (argument0 = "Autogun") { - atta = 20; - arp = 0; - rang = 6; - amm = 12; - spli = 3; - } - if (argument0 = "Lictor Claws") { - atta = 300; - arp = 0; - rang = 1; - } - if (argument0 = "Flesh Hooks") { - atta = 50; - arp = 0; - rang = 2; - amm = 1; - } - + if (name = "Particle Whip") { + atta = 300; + arp = 1; + rang = 4.1; + spli = 3; } - - if (obj_ncombat.enemy >= 10) or(obj_ncombat.enemy = 2) or(obj_ncombat.enemy = 5) or(obj_ncombat.enemy = 1) { - - if (argument0 = "Plasma Pistol") { - atta = 70; - arp = 1; - rang = 3.1; - } - if (argument0 = "Power Weapon") { - atta = 120; - arp = 0; - rang = 1; - } - if (argument0 = "Power Sword") { - atta = 120; - arp = 0; - rang = 1; - } - if (argument0 = "Force Weapon") { - atta = 400; - arp = 1; - rang = 1; - } - if (argument0 = "Chainfist") { - atta = 300; - arp = 1; - rang = 1; - spli = 3; - } - if (argument0 = "Meltagun") { - atta = 200; - arp = 1; - rang = 2; - amm = 4; - } - if (argument0 = "Flamer") { - atta = 160; - arp = 0; - rang = 2.1; - amm = 4; - spli = 3; - } - if (argument0 = "Heavy Flamer") { - atta = 250; - arp = 0; - rang = 2.1; - amm = 6; - spli = 3; - } - if (argument0 = "Combi-Flamer") { - atta = 160; - arp = 0; - rang = 2.1; - amm = 1; - spli = 3; - } - if (argument0 = "Bolter") { - atta = 45; - arp = 0; - rang = 12; - amm = 15; - if (obj_ncombat.enemy = 5) then atta = 35; - } // Bursts - if (argument0 = "Power Fist") { - atta = 425; - arp = 1; - rang = 1; - } - if (argument0 = "Possessed Claws") { - atta = 250; - arp = 1; - rang = 1; - spli = 3; - } - if (argument0 = "Missile Launcher") { - atta = 200; - arp = 1; - rang = 20; - amm = 4; - spli = 3; - } - if (argument0 = "Chainsword") { - atta = 45; - arp = 0; - rang = 1; - } - if (argument0 = "Bolt Pistol") { - atta = 35; - arp = 0; - rang = 3.1; - amm = 18; - } - if (argument0 = "Chainaxe") { - atta = 55; - arp = 0; - rang = 1; - } - if (argument0 = "Poisoned Chainsword") { - atta = 90; - arp = 0; - rang = 1; - if (obj_ini.preomnor = 1) { - atta = 130; - } - } - if (argument0 = "Sonic Blaster") { - atta = 120; - arp = 0; - rang = 3; - spli = 3; - } - if (argument0 = "Rubric Bolter") { - atta = 80; - arp = 0; - rang = 12; - amm = 15; - } // Bursts - if (argument0 = "Witchfire") { - atta = 200; - arp = 1; - rang = 5.1; - } - if (argument0 = "Autogun") { - atta = 20; - arp = 0; - rang = 6; - amm = 12; - } - if (argument0 = "Storm Bolter") { - atta = 65; - arp = 0; - rang = 8; - amm = 10; - spli = 3; - } - if (argument0 = "Lascannon") { - atta = 200; - arp = 1; - rang = 20; - amm = 8; - } - if (argument0 = "Twin Linked Heavy Bolters") { - atta = 240; - arp = 0; - rang = 16; - spli = 3; - } - if (argument0 = "Twin-Linked Heavy Bolters") { - atta = 240; - arp = 0; - rang = 16; - spli = 3; - } - if (argument0 = "Twin Linked Lascannon") { - atta = 300; - arp = 1; - rang = 20; - } - if (argument0 = "Twin-Linked Lascannon") { - atta = 300; - arp = 1; - rang = 20; - } - if (argument0 = "Battle Cannon") { - atta = 300; - arp = 1; - rang = 12; - } - if (argument0 = "Demolisher Cannon") { - atta = 500; - arp = 1; - rang = 2; - if (instance_exists(obj_nfort)) then rang = 5; - } - if (argument0 = "Earthshaker Cannon") { - atta = 300; - arp = 0; - rang = 12; - spli = 3; - } - if (argument0 = "Havoc Launcher") { - atta = 100; - arp = 0; - rang = 12; - } - if (argument0 = "Baleflame") { - atta = 120; - arp = 0; - rang = 2; - } - if (argument0 = "Defiler Claws") { - atta = 350; - arp = 1; - rang = 1; - spli = 3; - } - if (argument0 = "Reaper Autocannon") { - atta = 320; - arp = 0; - rang = 18; - amm = 10; - spli = 3; - } - - if (name = "Ripper Gun") { - atta = 40; - arp = 0; - rang = 3; - amm = 5; - spli = 0; - } - if (name = "Ogryn Melee") { - atta = 90; - arp = 0; - rang = 1; - } - if (name = "Multi-Laser") { - atta = choose(60, 75, 90, 105); - arp = 0; - rang = 10; - } - - if (argument0 = "Blessed Weapon") { - atta = 150; - arp = 1; - rang = 1; - } - if (argument0 = "Electro-Flail") { - atta = 125; - arp = 1; - rang = 1; - spli = 3; - } - if (argument0 = "Neural Whip") { - atta = 85; - arp = 0; - rang = 1; - spli = 3 - } - if (argument0 = "Sarissa") { - atta = 65; - arp = 0; - rang = 2; - } - if (argument0 = "Seraphim Pistols") { - atta = 200; - arp = 1; - rang = 4; - } - if (argument0 = "Laser Mace") { - atta = 200; - arp = 1; - rang = 5.1; - amm = 3; - } - if (argument0 = "Heavy Bolter") { - atta = 120; - arp = 0; - rang = 16; - spli = 0; - } - - if (name = "Lasgun") { - atta = 20; - arp = 0; - rang = 6; - amm = 30; - } - if (name = "Daemonhost Claws") { - atta = 350; - arp = 1; - rang = 1; - spli = 3; - } - if (name = "Daemonhost_Powers") { - atta = round(random_range(100, 300)); - arp = round(random_range(100, 300)); - rang = round(random_range(1, 6)); - spli = choose(0, 1); - } + if (name = "Gauss Flayer Array") { + atta = 180; + arp = 1; + rang = 8.1; + spli = 3; } - - if (obj_ncombat.enemy = 13) { // Some of these, like the Gauss Particle Cannon and Particle Whip, used to be more than twice as strong. - if (name = "Staff of Light") { - atta = 200; - arp = 1; - rang = 1; - spli = 3; - } - if (name = "Staff of Light Shooting") { - atta = 180; - arp = 0; - rang = 3; - spli = 3; - } - if (name = "Warscythe") { - atta = 200; - arp = 1; - rang = 1; - spli = 0; - } - if (name = "Gauss Flayer") { - atta = choose(50, 50, 50, 50, 50, 70); - atta = choose(30, 30, 30, 30, 30, 70); - rang = 6.1; - spli = 0; - } - if (name = "Gauss Blaster") { - atta = choose(70, 70, 70, 70, 70, 100); - arp = choose(0, 0, 0, 0, 0, 1); - rang = 6.1; - spli = 0; - } - if (name = "Gauss Cannon") { - atta = 180; - arp = 1; - rang = 10; - spli = 3; - } - if (name = "Gauss Particle Cannon") { - atta = 300; - arp = 1; - rang = 10.1; - spli = 3; - } - if (name = "Overcharged Gauss Cannon") { - atta = 250; - arp = 1; - rang = 8.1; - spli = 3; - } - if (name = "Wraith Claws") { - atta = 80; - arp = 1; - rang = 1; - spli = 0; - } - if (name = "Claws") { - atta = 300; - arp = 1; - rang = 1; - spli = 0; - } - if (name = "Gauss Flux Arc") { - atta = 180; - arp = 1; - rang = 8; - spli = 3; - } - if (name = "Particle Whip") { - atta = 300; - arp = 1; - rang = 4.1; - spli = 3; - } - if (name = "Gauss Flayer Array") { - atta = 180; - arp = 1; - rang = 8.1; - spli = 3; - } - if (name = "Doomsday Cannon") { - atta = 300; - arp = 1; - rang = 6.1; - spli = 3; - } + if (name = "Doomsday Cannon") { + atta = 300; + arp = 1; + rang = 6.1; + spli = 3; } } @@ -1032,9 +1029,8 @@ function scr_en_weapon(name, is_man, man_number, man_type, group) { var b, goody, first; b = 0; goody = 0; - first = 0; + first = -1; repeat(30) { - b += 1; if (wep[b] = name) and(goody = 0) { att[b] += atta * man_number; apa[b] += arp * man_number; @@ -1046,7 +1042,8 @@ function scr_en_weapon(name, is_man, man_number, man_type, group) { if (wep_owner[b] != "") or(man_number > 1) then wep_owner[b] = "assorted"; if (wep_owner[b] = "") and(man_number = 1) then wep_owner[b] = man_type; } - if (wep[b] = "") and(first = 0) then first = b; + if (wep[b] = "") and(first = -1) then first = b; + b += 1; } if (goody = 0) { wep[first] = name; @@ -1064,7 +1061,6 @@ function scr_en_weapon(name, is_man, man_number, man_type, group) { /* wep[i]=""; - combi[i]=0; range[i]=0; att[i]=0; apa[i]=0;