Changeset 4758
- Timestamp:
- 2013-09-16 01:50:57 (7 years ago)
- Location:
- 2012/09-22/SanteriH/Kynari
- Files:
-
- 32 added
- 6 edited
Legend:
- Unmodified
- Added
- Removed
-
2012/09-22/SanteriH/Kynari/Kynari/Kynari/Kynari.cs
r4757 r4758 99 99 Image target = LoadImage("target"); 100 100 Image powerupinkuva = LoadImage("upgrade"); 101 Image sidegradekuva = LoadImage("side upgrade");101 Image sidegradekuva = LoadImage("sidegrade"); 102 102 Image flaregunkuva = LoadImage("flaregun"); 103 103 Image flaregunkuva2 = LoadImage("flaregun2"); … … 1852 1852 { 1853 1853 if (p.DamageResistance == true) { p.HPLaskuri.Value -= 2; } else { p.HPLaskuri.Value -= 5; } 1854 }); 1855 }); 1856 }); 1857 }); 1858 }); 1859 } 1860 } 1861 1862 void FlarePaineaaltoXOsuu(IPhysicsObject kohde, Vector shokki, Explosion e) 1863 { 1864 if (!(kohde is Pelaaja)) return; 1865 Pelaaja p = (Pelaaja)kohde; 1866 if (p.ViimeisinRajahdys == e) return; 1867 p.ViimeisinRajahdys = e; 1868 if (p.DamageResistance == true) 1869 { 1870 GameObject liekki = new GameObject(40, 40); 1871 liekki.Color = new Color(Color.Blue, 100); 1872 liekki.Shape = Shape.FromImage(norsu); 1873 1874 p.Add(liekki); 1875 Timer.SingleShot(3.0, delegate { p.Remove(liekki); }); 1876 1877 p.HPLaskuri.Value -= 15; 1878 Timer.SingleShot(0.5, delegate 1879 { 1880 if (p.DamageResistance == true) { p.HPLaskuri.Value -= 3; } else { p.HPLaskuri.Value -= 7; } 1881 Timer.SingleShot(0.5, delegate 1882 { 1883 if (p.DamageResistance == true) { p.HPLaskuri.Value -= 3; } else { p.HPLaskuri.Value -= 7; } 1884 Timer.SingleShot(0.5, delegate 1885 { 1886 if (p.DamageResistance == true) { p.HPLaskuri.Value -= 3; } else { p.HPLaskuri.Value -= 7; } 1887 Timer.SingleShot(0.5, delegate 1888 { 1889 if (p.DamageResistance == true) { p.HPLaskuri.Value -= 3; } else { p.HPLaskuri.Value -= 7; } 1890 Timer.SingleShot(0.5, delegate 1891 { 1892 if (p.DamageResistance == true) { p.HPLaskuri.Value -= 3; } else { p.HPLaskuri.Value -= 7; } 1893 Timer.SingleShot(0.5, delegate 1894 { 1895 if (p.DamageResistance == true) { p.HPLaskuri.Value -= 3; } else { p.HPLaskuri.Value -= 7; } 1896 }); 1897 }); 1898 }); 1899 }); 1900 }); 1901 }); 1902 } 1903 else 1904 { 1905 GameObject liekki = new GameObject(40, 40); 1906 liekki.Color = new Color(Color.Blue, 100); 1907 liekki.Shape = Shape.FromImage(norsu); 1908 1909 p.Add(liekki); 1910 Timer.SingleShot(3.0, delegate { p.Remove(liekki); }); 1911 1912 p.HPLaskuri.Value -= 30; 1913 Timer.SingleShot(0.5, delegate 1914 { 1915 if (p.DamageResistance == true) { p.HPLaskuri.Value -= 3; } else { p.HPLaskuri.Value -= 7; } 1916 Timer.SingleShot(0.5, delegate 1917 { 1918 if (p.DamageResistance == true) { p.HPLaskuri.Value -= 3; } else { p.HPLaskuri.Value -= 7; } 1919 Timer.SingleShot(0.5, delegate 1920 { 1921 if (p.DamageResistance == true) { p.HPLaskuri.Value -= 3; } else { p.HPLaskuri.Value -= 7; } 1922 Timer.SingleShot(0.5, delegate 1923 { 1924 if (p.DamageResistance == true) { p.HPLaskuri.Value -= 3; } else { p.HPLaskuri.Value -= 7; } 1925 Timer.SingleShot(0.5, delegate 1926 { 1927 if (p.DamageResistance == true) { p.HPLaskuri.Value -= 3; } else { p.HPLaskuri.Value -= 7; } 1928 Timer.SingleShot(0.5, delegate 1929 { 1930 if (p.DamageResistance == true) { p.HPLaskuri.Value -= 3; } else { p.HPLaskuri.Value -= 7; } 1931 }); 1854 1932 }); 1855 1933 }); … … 2570 2648 Explosion rajahdys = new Explosion(75); 2571 2649 rajahdys.Position = ammus.Position; 2650 rajahdys.Color = Color.Orange; 2572 2651 rajahdys.ShockwaveReachesObject += delegate(IPhysicsObject p, Vector shokki) { FlarePaineaaltoOsuu(p, shokki, rajahdys); }; 2573 2652 Add(rajahdys); … … 2587 2666 } 2588 2667 } 2668 } 2669 2670 void SarjatulikivaariXOsui(PhysicsObject ammus, PhysicsObject kohde) 2671 { 2672 if (AmmusVoiOsua(ammus, kohde)) 2673 { 2674 Pelaaja p = (Pelaaja)kohde; 2675 if (p.DamageResistance == true) 2676 { 2677 p.HPLaskuri.Value -= 15; 2678 } 2679 else 2680 { 2681 p.HPLaskuri.Value -= 30; 2682 } 2683 } 2684 } 2685 2686 void RevolveriXOsui(PhysicsObject ammus, PhysicsObject kohde) 2687 { 2688 if (AmmusVoiOsua(ammus, kohde)) 2689 { 2690 Pelaaja p = (Pelaaja)kohde; 2691 if (p.DamageResistance == true) 2692 { 2693 p.HPLaskuri.Value -= 40; 2694 } 2695 else 2696 { 2697 p.HPLaskuri.Value -= 60; 2698 } 2699 } 2700 } 2701 2702 void KatkaistuHaulikkoXOsui(PhysicsObject ammus, PhysicsObject kohde) 2703 { 2704 if (AmmusVoiOsua(ammus, kohde)) 2705 { 2706 Pelaaja p = (Pelaaja)kohde; 2707 if (p.DamageResistance == true) 2708 { 2709 p.HPLaskuri.Value -= 7; 2710 } 2711 else 2712 { 2713 p.HPLaskuri.Value -= 15; 2714 } 2715 } 2716 } 2717 2718 void PanssariSniperXOsui(PhysicsObject ammus, PhysicsObject kohde) 2719 { 2720 if (AmmusVoiOsua(ammus, kohde)) 2721 { 2722 Pelaaja p = (Pelaaja)kohde; 2723 if (p.DamageResistance == true) 2724 { 2725 p.HPLaskuri.Value -= 500; 2726 } 2727 else 2728 { 2729 p.HPLaskuri.Value -= 1000; 2730 } 2731 } 2732 } 2733 2734 void SirpaleKranaattiXOsui(PhysicsObject ammus, PhysicsObject kohde) 2735 { 2736 if (ammus.IsDestroying) return; 2737 if (kohde.Tag.ToString() != "") 2738 { 2739 Explosion rajahdys = new Explosion(100); 2740 rajahdys.Position = ammus.Position; 2741 rajahdys.ShockwaveReachesObject += delegate(IPhysicsObject p, Vector shokki) { PaineaaltoOsuu(p, shokki, rajahdys, 65.0); }; 2742 Add(rajahdys); 2743 rajahdys.Force = 25; 2744 rajahdys.Speed = 1000; 2745 2746 ammus.Destroy(); // ei voi taata tapahtuuko tämä "heti". Siksi tarvitaan alkuun tarkistus, että onko ammus tuhoutumassa. 2747 if (!(kohde is Pelaaja)) return; 2748 Pelaaja pelaaja = (Pelaaja)kohde; 2749 if (pelaaja.DamageResistance == true) 2750 { 2751 pelaaja.HPLaskuri.Value -= 25; 2752 } 2753 else 2754 { 2755 pelaaja.HPLaskuri.Value -= 50; 2756 } 2757 } 2758 } 2759 2760 void SinkoXOsui(PhysicsObject ammus, PhysicsObject kohde) 2761 { 2762 if (ammus.IsDestroying) return; 2763 if (kohde.Tag.ToString() != "") 2764 { 2765 Explosion rajahdys = new Explosion(125); 2766 rajahdys.Position = ammus.Position; 2767 rajahdys.ShockwaveReachesObject += delegate(IPhysicsObject p, Vector shokki) { PaineaaltoOsuu(p, shokki, rajahdys, 90.0); }; 2768 Add(rajahdys); 2769 rajahdys.Force = 25; 2770 rajahdys.Speed = 1000; 2771 2772 ammus.Destroy(); // ei voi taata tapahtuuko tämä "heti". Siksi tarvitaan alkuun tarkistus, että onko ammus tuhoutumassa. 2773 if (!(kohde is Pelaaja)) return; 2774 Pelaaja pelaaja = (Pelaaja)kohde; 2775 if (pelaaja.DamageResistance == true) 2776 { 2777 pelaaja.HPLaskuri.Value -= 35; 2778 } 2779 else 2780 { 2781 pelaaja.HPLaskuri.Value -= 70; 2782 } 2783 } 2784 } 2785 2786 void KonepistooliXOsui(PhysicsObject ammus, PhysicsObject kohde) 2787 { 2788 if (AmmusVoiOsua(ammus, kohde)) 2789 { 2790 Pelaaja p = (Pelaaja)kohde; 2791 if (p.DamageResistance == true) 2792 { 2793 p.HPLaskuri.Value -= 8; 2794 } 2795 else 2796 { 2797 p.HPLaskuri.Value -= 17; 2798 } 2799 } 2800 } 2801 2802 void ExpFlareXOsui(PhysicsObject ammus, PhysicsObject kohde) 2803 { 2804 if (ammus.IsDestroying) return; 2805 if (kohde.Tag.ToString() != "") 2806 { 2807 Explosion rajahdys = new Explosion(100); 2808 rajahdys.Position = ammus.Position; 2809 rajahdys.Color = Color.Blue; 2810 rajahdys.ShockwaveReachesObject += delegate(IPhysicsObject p, Vector shokki) { FlarePaineaaltoXOsuu(p, shokki, rajahdys); }; 2811 Add(rajahdys); 2812 rajahdys.Force = 25; 2813 rajahdys.Speed = 1000; 2814 2815 ammus.Destroy(); // ei voi taata tapahtuuko tämä "heti". Siksi tarvitaan alkuun tarkistus, että onko ammus tuhoutumassa. 2816 if (!(kohde is Pelaaja)) return; 2817 Pelaaja pelaaja = (Pelaaja)kohde; 2818 if (pelaaja.DamageResistance == true) 2819 { 2820 pelaaja.HPLaskuri.Value -= 20; 2821 } 2822 else 2823 { 2824 pelaaja.HPLaskuri.Value -= 40; 2825 } 2826 } 2589 2827 } 2590 2828 … … 3147 3385 ase.Y = 10; 3148 3386 } 3387 3149 3388 if (aseenTag == "Räjähtävä valopistooli") 3150 3389 { … … 3161 3400 } 3162 3401 3402 if (aseenTag == "Sarjatulikivääri Lv. X") 3403 { 3404 ase = new AssaultRifle(39, 13); 3405 ase.FireRate = 6; 3406 ase.ProjectileCollision = SarjatulikivaariXOsui; 3407 ase.MaxAmmoLifetime = TimeSpan.FromSeconds(10); 3408 ase.Tag = "Sarjatulikivääri Lv. X"; 3409 ase.Image = kivaarinkuva; 3410 } 3411 3412 if (aseenTag == "Revolveri Lv. X") 3413 { 3414 ase = new AssaultRifle(17, 12); 3415 ase.FireRate = 6; 3416 ase.ProjectileCollision = RevolveriXOsui; 3417 ase.MaxAmmoLifetime = TimeSpan.FromSeconds(10); 3418 ase.Tag = "Revolveri Lv. X"; 3419 ase.Image = magnumkuva; 3420 3421 // Paikka suhteessa pelaajaan 3422 ase.X = 10; 3423 ase.Y = 10; 3424 } 3425 3426 if (aseenTag == "Katkaistu haulikko Lv. X") 3427 { 3428 ase = new AssaultRifle(42, 10); 3429 ase.FireRate = 2; 3430 ase.ProjectileCollision = KatkaistuHaulikkoXOsui; 3431 ase.MaxAmmoLifetime = TimeSpan.FromSeconds(0.4); 3432 ase.Tag = "Katkaistu haulikko Lv. X"; 3433 ase.Image = haulikonkuva; 3434 } 3435 3436 if (aseenTag == "Panssari-Sniper Lv. X") 3437 { 3438 ase = new AssaultRifle(42, 11); 3439 ase.FireRate = 0.8; 3440 ase.ProjectileCollision = PanssariSniperXOsui; 3441 ase.Power.Value = 400; 3442 ase.Power.DefaultValue = 400; 3443 ase.MaxAmmoLifetime = TimeSpan.FromSeconds(10); 3444 ase.Tag = "Panssari-Sniper Lv. X"; 3445 ase.Image = sniperinkuva; 3446 } 3447 3448 if (aseenTag == "Sirpalekranaatinheitin Lv. X") 3449 { 3450 ase = new Cannon(37, 17); 3451 ase.FireRate = 2; 3452 ase.ProjectileCollision = delegate(PhysicsObject ammus, PhysicsObject kohde) { SirpaleKranaattiXOsui(ammus, kohde); }; 3453 ase.Power.Value = 25000; 3454 ase.Power.DefaultValue = 25000; 3455 ase.MaxAmmoLifetime = TimeSpan.FromSeconds(3); 3456 ase.Tag = "Sirpalekranaatinheitin Lv. X"; 3457 ase.Image = kranaatinheittimenkuva; 3458 } 3459 3460 if (aseenTag == "Sinko Lv. X") 3461 { 3462 ase = new AssaultRifle(48, 15); 3463 ase.FireRate = 1.5; 3464 ase.ProjectileCollision = delegate(PhysicsObject ammus, PhysicsObject kohde) { SinkoXOsui(ammus, kohde); }; 3465 ase.Power.Value = 165; 3466 ase.Power.DefaultValue = 165; 3467 ase.MaxAmmoLifetime = TimeSpan.FromSeconds(10); 3468 ase.Tag = "Sinko Lv. X"; 3469 ase.Image = raketinheittimenkuva; 3470 } 3471 3472 if (aseenTag == "Konepistooli Lv. X") 3473 { 3474 ase = new AssaultRifle(16, 11); 3475 ase.FireRate = 34; 3476 ase.ProjectileCollision = KonepistooliXOsui; 3477 ase.MaxAmmoLifetime = TimeSpan.FromSeconds(10); 3478 ase.Tag = "Konepistooli Lv. X"; 3479 ase.Image = konepistoolinkuva; 3480 ase.X = 10; 3481 ase.Y = 10; 3482 } 3483 3484 if (aseenTag == "Räjähtävä valopistooli Lv. X") 3485 { 3486 ase = new AssaultRifle(18, 10); 3487 ase.FireRate = 1.5; 3488 ase.ProjectileCollision = ExpFlareXOsui; 3489 ase.Power.Value = 300; 3490 ase.Power.DefaultValue = 300; 3491 ase.MaxAmmoLifetime = TimeSpan.FromSeconds(10); 3492 ase.Tag = "Räjähtävä valopistooli Lv. X"; 3493 ase.Image = flaregunkuva; 3494 ase.X = 10; 3495 ase.Y = 10; 3496 } 3497 3163 3498 if (ase != null) 3164 3499 { … … 3901 4236 LuoAsePelaajalle("Konepistooli", pelaaja1); 3902 4237 } 4238 3903 4239 if (vastaus.Substring(5) == "explosiveflaregun") 3904 4240 { 3905 4241 LuoAsePelaajalle("Räjähtävä valopistooli", pelaaja1); 4242 } 4243 4244 if (vastaus.Substring(5) == "burstriflex") 4245 { 4246 LuoAsePelaajalle("Sarjatulikivääri Lv. X", pelaaja1); 4247 } 4248 4249 if (vastaus.Substring(5) == "revolverx") 4250 { 4251 LuoAsePelaajalle("Revolveri Lv. X", pelaaja1); 4252 } 4253 4254 if (vastaus.Substring(5) == "sawedoffx") 4255 { 4256 LuoAsePelaajalle("Katkaistu haulikko Lv. X", pelaaja1); 4257 } 4258 4259 if (vastaus.Substring(5) == "apsniperx") 4260 { 4261 LuoAsePelaajalle("Panssari-Sniper Lv. X", pelaaja1); 4262 } 4263 4264 if (vastaus.Substring(5) == "clustergrenadelauncherx") 4265 { 4266 LuoAsePelaajalle("Sirpalekranaatinheitin Lv. X", pelaaja1); 4267 } 4268 4269 if (vastaus.Substring(5) == "rpgx") 4270 { 4271 LuoAsePelaajalle("Sinko Lv. X", pelaaja1); 4272 } 4273 4274 if (vastaus.Substring(5) == "smgx") 4275 { 4276 LuoAsePelaajalle("Konepistooli Lv. X", pelaaja1); 4277 } 4278 4279 if (vastaus.Substring(5) == "explosiveflaregunx") 4280 { 4281 LuoAsePelaajalle("Räjähtävä valopistooli Lv. X", pelaaja1); 3906 4282 } 3907 4283 … … 4164 4540 LuoAsePelaajalle("Konepistooli", pelaaja1); 4165 4541 } 4542 4166 4543 if (vastaus.Substring(8) == "explosiveflaregun") 4167 4544 { 4168 4545 LuoAsePelaajalle("Räjähtävä valopistooli", pelaaja1); 4546 } 4547 4548 if (vastaus.Substring(8) == "burstriflex") 4549 { 4550 LuoAsePelaajalle("Sarjatulikivääri Lv. X", pelaaja1); 4551 } 4552 4553 if (vastaus.Substring(8) == "revolverx") 4554 { 4555 LuoAsePelaajalle("Revolveri Lv. X", pelaaja1); 4556 } 4557 4558 if (vastaus.Substring(8) == "sawedoffx") 4559 { 4560 LuoAsePelaajalle("Katkaistu haulikko Lv. X", pelaaja1); 4561 } 4562 4563 if (vastaus.Substring(8) == "apsniperx") 4564 { 4565 LuoAsePelaajalle("Panssari-Sniper Lv. X", pelaaja1); 4566 } 4567 4568 if (vastaus.Substring(8) == "clustergrenadelauncherx") 4569 { 4570 LuoAsePelaajalle("Sirpalekranaatinheitin Lv. X", pelaaja1); 4571 } 4572 4573 if (vastaus.Substring(8) == "rpgx") 4574 { 4575 LuoAsePelaajalle("Sinko Lv. X", pelaaja1); 4576 } 4577 4578 if (vastaus.Substring(8) == "smgx") 4579 { 4580 LuoAsePelaajalle("Konepistooli Lv. X", pelaaja1); 4581 } 4582 4583 if (vastaus.Substring(8) == "explosiveflaregunx") 4584 { 4585 LuoAsePelaajalle("Räjähtävä valopistooli Lv. X", pelaaja1); 4169 4586 } 4170 4587 … … 4381 4798 LuoAsePelaajalle("Konepistooli", pelaaja2); 4382 4799 } 4800 4383 4801 if (vastaus.Substring(8) == "explosiveflaregun") 4384 4802 { 4385 4803 LuoAsePelaajalle("Räjähtävä valopistooli", pelaaja2); 4804 } 4805 4806 if (vastaus.Substring(8) == "burstriflex") 4807 { 4808 LuoAsePelaajalle("Sarjatulikivääri Lv. X", pelaaja2); 4809 } 4810 4811 if (vastaus.Substring(8) == "revolverx") 4812 { 4813 LuoAsePelaajalle("Revolveri Lv. X", pelaaja2); 4814 } 4815 4816 if (vastaus.Substring(8) == "sawedoffx") 4817 { 4818 LuoAsePelaajalle("Katkaistu haulikko Lv. X", pelaaja2); 4819 } 4820 4821 if (vastaus.Substring(8) == "apsniperx") 4822 { 4823 LuoAsePelaajalle("Panssari-Sniper Lv. X", pelaaja2); 4824 } 4825 4826 if (vastaus.Substring(8) == "clustergrenadelauncherx") 4827 { 4828 LuoAsePelaajalle("Sirpalekranaatinheitin Lv. X", pelaaja2); 4829 } 4830 4831 if (vastaus.Substring(8) == "rpgx") 4832 { 4833 LuoAsePelaajalle("Sinko Lv. X", pelaaja2); 4834 } 4835 4836 if (vastaus.Substring(8) == "smgx") 4837 { 4838 LuoAsePelaajalle("Konepistooli Lv. X", pelaaja2); 4839 } 4840 4841 if (vastaus.Substring(8) == "explosiveflaregunx") 4842 { 4843 LuoAsePelaajalle("Räjähtävä valopistooli Lv. X", pelaaja2); 4386 4844 } 4387 4845 … … 4836 5294 ammus2.Position = ammus.Position; 4837 5295 ammus2.Velocity = ammus.Velocity; 4838 ammus2.MaximumLifetime = TimeSpan.FromSeconds(0.4);5296 ammus2.MaximumLifetime = ammus.MaximumLifetime; 4839 5297 ammus2.Hit(new Vector(RandomGen.NextDouble(-100, 100), RandomGen.NextDouble(-300, 300))); 4840 5298 ammus2.CollisionIgnorer = ammus.CollisionIgnorer; … … 4885 5343 } 4886 5344 5345 if ((string)hahmo.Weapon.Tag == "Sarjatulikivääri Lv. X") 5346 { 5347 PhysicsObject ammus2 = new PhysicsObject(ammus.Image); 5348 ammus2.Angle = hahmo.FacingDirection.Angle; 5349 ammus2.IgnoresGravity = true; 5350 ammus2.Size = ammus.Size; 5351 ammus2.Position = ammus.Position; 5352 ammus2.Velocity = ammus.Velocity; 5353 ammus2.MaximumLifetime = ammus.MaximumLifetime; 5354 ammus2.CollisionIgnorer = ammus.CollisionIgnorer; 5355 ammus2.Tag = "ammus"; 5356 ammus2.IgnoresCollisionResponse = true; 5357 ammus2.IgnoresExplosions = true; 5358 AddCollisionHandler(ammus2, SarjatulikivaariXOsui); 5359 5360 PhysicsObject ammus3 = new PhysicsObject(ammus.Image); 5361 ammus3.Angle = hahmo.FacingDirection.Angle; 5362 ammus3.IgnoresGravity = true; 5363 ammus3.Size = ammus.Size; 5364 ammus3.Position = ammus.Position; 5365 ammus3.Velocity = ammus.Velocity; 5366 ammus3.MaximumLifetime = ammus.MaximumLifetime; 5367 ammus3.CollisionIgnorer = ammus.CollisionIgnorer; 5368 ammus3.Tag = "ammus"; 5369 ammus3.IgnoresCollisionResponse = true; 5370 ammus3.IgnoresExplosions = true; 5371 AddCollisionHandler(ammus3, SarjatulikivaariXOsui); 5372 5373 PhysicsObject ammus4 = new PhysicsObject(ammus.Image); 5374 ammus4.Angle = hahmo.FacingDirection.Angle; 5375 ammus4.IgnoresGravity = true; 5376 ammus4.Size = ammus.Size; 5377 ammus4.Position = ammus.Position; 5378 ammus4.Velocity = ammus.Velocity; 5379 ammus4.MaximumLifetime = ammus.MaximumLifetime; 5380 ammus4.CollisionIgnorer = ammus.CollisionIgnorer; 5381 ammus4.Tag = "ammus"; 5382 ammus4.IgnoresCollisionResponse = true; 5383 ammus4.IgnoresExplosions = true; 5384 AddCollisionHandler(ammus4, SarjatulikivaariXOsui); 5385 5386 Timer.SingleShot(0.02, delegate { Add(ammus2); ammus2.Hit(new Vector(0, RandomGen.NextDouble(-2, 2))); Timer.SingleShot(0.02, delegate { Add(ammus3); ammus3.Hit(new Vector(0, RandomGen.NextDouble(-2, 2))); Timer.SingleShot(0.02, delegate { Add(ammus4); ammus4.Hit(new Vector(0, RandomGen.NextDouble(-2, 2))); }); }); }); 5387 } 5388 5389 if ((string)hahmo.Weapon.Tag == "Revolveri Lv. X") 5390 { 5391 ammus.Hit(new Vector(0, RandomGen.NextDouble(-7, 7))); 5392 } 5393 5394 if ((string)hahmo.Weapon.Tag == "Katkaistu haulikko Lv. X") 5395 { 5396 for (int i = 0; i < 14; i++) 5397 { 5398 PhysicsObject ammus2 = new PhysicsObject(ammus.Image); 5399 ammus2.Angle = hahmo.FacingDirection.Angle; 5400 ammus2.IgnoresGravity = true; 5401 ammus2.Size = ammus.Size; 5402 ammus2.Position = ammus.Position; 5403 ammus2.Velocity = ammus.Velocity; 5404 ammus2.MaximumLifetime = ammus.MaximumLifetime; 5405 ammus2.Hit(new Vector(RandomGen.NextDouble(-150, 150), RandomGen.NextDouble(-500, 500))); 5406 ammus2.CollisionIgnorer = ammus.CollisionIgnorer; 5407 ammus2.Tag = "ammus"; 5408 ammus2.IgnoresCollisionResponse = true; 5409 ammus2.IgnoresExplosions = true; 5410 AddCollisionHandler(ammus2, KatkaistuHaulikkoXOsui); 5411 Add(ammus2); 5412 } 5413 } 5414 5415 if ((string)hahmo.Weapon.Tag == "Sirpalekranaatinheitin Lv. X") 5416 { 5417 ammus.Shape = Shape.Circle; 5418 ammus.Image = kranaatinkuva; 5419 ammus.Restitution = 1; 5420 ammus.Mass = 0.2; 5421 ammus.KineticFriction = 0.2; 5422 ammus.StaticFriction = 0.2; 5423 ammus.Position = hahmo.Position; 5424 ammus.Size += new Vector(1, 1); 5425 ammus.IgnoresCollisionResponse = false; 5426 Timer.SingleShot(0.2, delegate { ammus.CollisionIgnorer = null; }); 5427 ammus.Hit(new Vector(0, 40)); 5428 } 5429 5430 if ((string)hahmo.Weapon.Tag == "Sinko Lv. X") 5431 { 5432 ammus.Image = raketinkuva; 5433 ammus.Size += new Vector(3, 1); 5434 ammus.IgnoresCollisionResponse = false; 5435 Timer.SingleShot(0.1, delegate { ammus.CollisionIgnorer = null; }); 5436 } 5437 5438 if ((string)hahmo.Weapon.Tag == "Konepistooli Lv. X") 5439 { 5440 ammus.Hit(new Vector(0, RandomGen.NextDouble(-50, 50))); 5441 } 5442 5443 if ((string)hahmo.Weapon.Tag == "Räjähtävä valopistooli Lv. X") 5444 { 5445 ammus.Image = flarekuva; 5446 ammus.Size += new Vector(3, 1); 5447 ammus.IgnoresGravity = false; 5448 ammus.Hit(new Vector(0, 20)); 5449 ammus.IgnoresCollisionResponse = false; 5450 Timer.SingleShot(0.1, delegate { ammus.CollisionIgnorer = null; }); 5451 } 5452 4887 5453 Add(ammus); 4888 5454 }
Note: See TracChangeset
for help on using the changeset viewer.