Changeset 4758 for 2012


Ignore:
Timestamp:
2013-09-16 01:50:57 (6 years ago)
Author:
saolhaka
Message:
 
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  
    9999    Image target = LoadImage("target"); 
    100100    Image powerupinkuva = LoadImage("upgrade"); 
    101     Image sidegradekuva = LoadImage("sideupgrade"); 
     101    Image sidegradekuva = LoadImage("sidegrade"); 
    102102    Image flaregunkuva = LoadImage("flaregun"); 
    103103    Image flaregunkuva2 = LoadImage("flaregun2"); 
     
    18521852                            { 
    18531853                                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                                }); 
    18541932                            }); 
    18551933                        }); 
     
    25702648                Explosion rajahdys = new Explosion(75); 
    25712649                rajahdys.Position = ammus.Position; 
     2650                rajahdys.Color = Color.Orange; 
    25722651                rajahdys.ShockwaveReachesObject += delegate(IPhysicsObject p, Vector shokki) { FlarePaineaaltoOsuu(p, shokki, rajahdys); }; 
    25732652                Add(rajahdys); 
     
    25872666                } 
    25882667            } 
     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        } 
    25892827    } 
    25902828 
     
    31473385            ase.Y = 10; 
    31483386        } 
     3387 
    31493388        if (aseenTag == "Räjähtävä valopistooli") 
    31503389        { 
     
    31613400        } 
    31623401 
     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 
    31633498        if (ase != null) 
    31643499        { 
     
    39014236                LuoAsePelaajalle("Konepistooli", pelaaja1); 
    39024237            } 
     4238 
    39034239            if (vastaus.Substring(5) == "explosiveflaregun") 
    39044240            { 
    39054241                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); 
    39064282            } 
    39074283 
     
    41644540                    LuoAsePelaajalle("Konepistooli", pelaaja1); 
    41654541                } 
     4542 
    41664543                if (vastaus.Substring(8) == "explosiveflaregun") 
    41674544                { 
    41684545                    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); 
    41694586                } 
    41704587 
     
    43814798                    LuoAsePelaajalle("Konepistooli", pelaaja2); 
    43824799                } 
     4800 
    43834801                if (vastaus.Substring(8) == "explosiveflaregun") 
    43844802                { 
    43854803                    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); 
    43864844                } 
    43874845 
     
    48365294                ammus2.Position = ammus.Position; 
    48375295                ammus2.Velocity = ammus.Velocity; 
    4838                 ammus2.MaximumLifetime = TimeSpan.FromSeconds(0.4); 
     5296                ammus2.MaximumLifetime = ammus.MaximumLifetime; 
    48395297                ammus2.Hit(new Vector(RandomGen.NextDouble(-100, 100), RandomGen.NextDouble(-300, 300))); 
    48405298                ammus2.CollisionIgnorer = ammus.CollisionIgnorer; 
     
    48855343        } 
    48865344 
     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 
    48875453        Add(ammus); 
    48885454    } 
Note: See TracChangeset for help on using the changeset viewer.