- Timestamp:
- 2015-06-24 21:42:10 (6 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
2015/26/ohjaajat/HillbillyRun/HillbillyRun/HillbillyRun/HillbillyRun/HillbillyRun.cs
r6288 r6291 53 53 { 54 54 HillbillyRun game = this.Game as HillbillyRun; 55 Owner.PlayAnimation(Animations[1]); 55 56 game.CreateMilkParticles(this.Owner); 57 56 58 } 57 59 … … 90 92 if (Animation != improvement.Animations[1]) 91 93 { 92 this.PlayAnimation(improvement.Animations[1], improvement.DoTheThing);94 improvement.DoTheThing(); 93 95 } 94 96 } … … 364 366 level.SetTileMethod(Color.Gray, CreateCrawly); 365 367 level.SetTileMethod(Color.Red, CreateFireMage); 366 level.SetTileMethod(Color.Rose, CreateFlame );368 level.SetTileMethod(Color.Rose, CreateFlame, true); 367 369 //level.SetTileMethod(Color.Azure, CreateDummy, Color.Azure); //TODO: CreateSmoke 368 370 //level.SetTileMethod(Color.Orange, CreateDummy, Color.Orange); //TODO: CreateTombstone … … 371 373 } 372 374 373 void CreateFlame(Vector position, double width, double height )374 { 375 PhysicsObject flame = PhysicsObject.CreateStaticObject(width, height * 2);375 void CreateFlame(Vector position, double width, double height, bool suuri) 376 { 377 PhysicsObject flame = new PhysicsObject(width, height * 2); 376 378 //flame.Image = flameImage; 377 379 flame.Color = Color.Red; … … 383 385 flame.Animation.Step(RandomGen.NextInt(0, 12)); 384 386 flame.Animation.Resume(); 387 flame.CanRotate = false; 385 388 Add(flame); 386 389 387 390 Smoke savu = new Smoke(); 388 savu.ParticleImage = smokeImage1; 389 savu.OuterParticleImage = smokeImage2; 390 savu.MaxLifetime = 1.0; 391 savu.MaxScale = 200; 392 savu.MinScale = 10; 393 savu.Position = flame.Position; 394 Wind = new Vector(-10, 0); 395 Add(savu); 391 if (suuri) 392 { 393 flame.IgnoresCollisionResponse = true; 394 395 savu.ParticleImage = smokeImage1; 396 savu.OuterParticleImage = smokeImage2; 397 savu.MaxLifetime = 1.0; 398 savu.MaxScale = 200; 399 savu.MinScale = 10; 400 savu.Position = flame.Position; 401 Wind = new Vector(-10, 0); 402 Add(savu); 403 flame.MakeStatic(); 404 } 396 405 397 406 AddCollisionHandler(flame, "milkparticle", delegate(PhysicsObject c, PhysicsObject particle) … … 399 408 particle.Destroy(); 400 409 flame.Destroy(); 401 savu.Destroy(); 410 411 savu.Destroy(); 412 402 413 }); 403 414 } … … 491 502 mage.Y += mage.Height / 2.0; 492 503 mage.Tag = "burn"; 504 mage.Tag += "fireMage"; 493 505 mage.AnimWalk = new Animation(firemageAnimation); 494 506 mage.CollisionIgnoreGroup = 3; 495 507 Add(mage, 1); 508 bool immune = false; 496 509 497 510 // Pään päällä oleva liekki (taitaa olla vähän huonossa kohtaa tällä hetkellä) 498 GameObject flame = new GameObject(width * 1.4, height * 2);511 PhysicsObject flame = new PhysicsObject(width * 1.4, height * 2); 499 512 flame.Y += mage.Height * 0.65; 513 //flame.Y = mage.Y + mage.Height; 500 514 flame.Animation = new Animation(blaze); 515 flame.IgnoresPhysicsLogics = true; 501 516 flame.Animation.Start(); 502 517 mage.Add(flame); … … 507 522 mage.Brain = brain; 508 523 509 // TODO: Noita kuolee kun on loiskuteltu tarpeeksi maitoa sen päälle. Vain yläpuolelta tulevat maitopartikkelit vahingoittaa sitä. 510 511 // TODO: Tulta pitäisi taikoa vain kun pelaajat on lähellä. 524 PhysicsObject trigger = PhysicsObject.CreateStaticObject(10, Level.Height); //A truly cool and efficient way to make the boogeyman react only to our closeness 525 trigger.Position = mage.Position - new Vector(Window.Width / 2, 0); 526 //trigger.Color = Color.Red; 527 trigger.IsVisible = false; 528 trigger.IgnoresCollisionResponse = true; 529 Add(trigger); 512 530 513 531 // Taiotaan tulta välillä. … … 518 536 mage.PlayAnimation(firemageCastAnimation); 519 537 520 for (int i = 0; i < 6; i++) 538 Timer.SingleShot(1.5, 539 delegate 540 { 541 for (int i = 0; i < 6; i++) 542 { 543 CreateFlame(new Vector(mage.X + RandomGen.NextDouble(-300, 300), mage.Y + mage.Height * 1.5), 30, 60, false); 544 545 //PhysicsObject fire = new PhysicsObject(30, 60); 546 //fire.CanRotate = false; 547 //fire.Tag = "burn"; 548 //fire.Animation = new Animation(blaze) { FPS = RandomGen.NextInt(20, 26) }; 549 //fire.Animation.Step(RandomGen.NextInt(0, 12)); 550 //fire.Animation.Resume(); 551 //fire.X = mage.X + RandomGen.NextDouble(-300, 300); 552 //fire.Y = mage.Y + mage.Height * 1.5; 553 //fire.CollisionIgnoreGroup = 3; 554 //Add(fire); 555 556 //AddCollisionHandler(fire, "milkparticle", delegate(PhysicsObject c, PhysicsObject particle) 557 //{ 558 // particle.Destroy(); 559 // fire.Destroy(); 560 //}); 561 } 562 }); 563 564 }; 565 //castTimer.Start(); 566 567 AddCollisionHandler(mage, "milkparticle", delegate(PhysicsObject fireMage, PhysicsObject milk) 568 { 569 if (milk.Y > fireMage.Y + fireMage.Height * 0.15 && !immune) 521 570 { 522 PhysicsObject fire = new PhysicsObject(30, 60); 523 fire.CanRotate = false; 524 fire.Tag = "fire"; 525 fire.Animation = new Animation(blaze) { FPS = RandomGen.NextInt(20, 26) }; 526 fire.Animation.Step(RandomGen.NextInt(0, 12)); 527 fire.Animation.Resume(); 528 fire.X = mage.X + RandomGen.NextDouble(-300, 300); 529 fire.Y = mage.Y + mage.Height * 1.5; 530 fire.CollisionIgnoreGroup = 3; 531 Add(fire); 532 533 AddCollisionHandler(fire, "milkparticle", delegate(PhysicsObject c, PhysicsObject particle) 571 flame.Size *= 0.9; 572 immune = true; 573 if (flame.Height < height) 534 574 { 535 particle.Destroy(); 536 fire.Destroy(); 537 }); 575 mage.Destroy(); 576 castTimer.Stop(); 577 //NextLevel(); 578 } 579 Timer.SingleShot(0.5, delegate { immune = false; }); 580 538 581 } 539 }; 540 castTimer.Start(); 582 }); 583 584 AddCollisionHandler(trigger, "player", delegate(PhysicsObject a, PhysicsObject b){ castTimer.Start(); }); 541 585 } 542 586 … … 607 651 players.Add(player); 608 652 startingPlayers.Add(player); 653 player.Tag = "player"; 609 654 Add(player); 610 655 AddCollisionHandler(player, "burn", delegate(PhysicsObject p, PhysicsObject t) … … 698 743 699 744 // Väri muuttuu läpinäkyväksi. 700 var fadeTimer = new Timer { Interval = 0.0 5};745 var fadeTimer = new Timer { Interval = 0.07 }; 701 746 fadeTimer.Timeout += delegate 702 747 {
Note: See TracChangeset
for help on using the changeset viewer.